10950번 - A+B - 3
포인터 공부하고 동적할당 공부하고 해서 터미널에는 맞게 나오는데 틀렸다고 뜨네요...
도저히 감이 안잡혀서 여쭤봅니다...
지금까지의 과정)
1. 반복문 단계니까 배열까지 쓰는 건 이 문제의 출제의도가 아닐 것이다 -> 포기. 배열 쓰기로 함
2. 배열크기를 임의로 100으로 설정 -> 질문게시판에서 배열크기보다 더 높을 수도 있는거라는 글을 봄
3. 배열크기를 어떻게 입력받지? -> 포인터랑 동적할당 적용
4. 이것도 안돼? -> 멘붕
input * 2개를 입력받고 있으니 할당도 malloc(sizeof(int) * input * 2); 만큼 해주시는게 맞을 거 같습니다.
이와 별개로, 입력을 전부 다 받고 출력을 할 필요는 없기 때문에 그냥 순서대로 t입력 받기 -> t번 반복하면서 루프 내부에서 a,b 입력받고 a+b출력하기 해주시면 훨씬 간단하게 풀 수 있어요
지금 하셨던 방법으로 하실거면
int *arr = malloc(sizeof(int) * input * 2);
이처럼 해주는 것이 맞습니다.
하지만 그냥 동적할당 부터 끝까지 다 지우고 반복문 안에서
scanf("%d %d", &a, &b); puts(a + b);
이렇게 해주시면 훨씬 간단하게 풀 수 있습니다.
예제에는 입력이 다 되면 출력이 나오는 것처럼 되어 있어서 산으로 간 것 같네요...
댓글을 작성하려면 로그인해야 합니다.
anjgkwl10 1년 전
포인터 공부하고 동적할당 공부하고 해서 터미널에는 맞게 나오는데 틀렸다고 뜨네요...
도저히 감이 안잡혀서 여쭤봅니다...
지금까지의 과정)
1. 반복문 단계니까 배열까지 쓰는 건 이 문제의 출제의도가 아닐 것이다 -> 포기. 배열 쓰기로 함
2. 배열크기를 임의로 100으로 설정 -> 질문게시판에서 배열크기보다 더 높을 수도 있는거라는 글을 봄
3. 배열크기를 어떻게 입력받지? -> 포인터랑 동적할당 적용
4. 이것도 안돼? -> 멘붕