2020 정보처리산업기사 기줄문제집 실기시험 2018년 6월 정보처리산업기사 실기 문제를 풀어보다가 3번문제가 뒤에 나오는 해설을 봐도 이해가 잘 되지않아서 질문 올립니다.
3번문제 답 1,2,3,5 번에 왜 그 답이 들어가야 하는지 잘모르겠습니다 ㅠㅠ
아신다면 상세한 해설 좀 부탁드립니다.
안녕하세요 길벗수험서 운영팀입니다.
배열 a와 b는 이미 오름차순으로 정렬되어 있다고 하니 배열 c에 차례대로 값을 저장해야 합니다.
먼저 a(i)와 b(j)를 비교하여 더 작은 값이 c(k)에 들어가야겠죠. 문제에서 배열 c는 오름차순이라고 했으니까요.
그럼 1번에는 a(i)가, 2번에는 b(j)가 들어갑니다.
c(k)에 값이 들어갔으니 k의 값을 1 증가하고 각 배열의 위치를 담당하는 변수 i, j의 값도 증가시켜 줍니다.
다음, 배열 a 또는 b가 모든 값을 처리했는지 여부를 물어봅니다. (i>x, j>y)
아니라면 다시 돌아가 값을 비교해 c 배열에 넣어주면 되고, 그렇다면 다음 반복문을 수행하여 나머지 값들을 넣어줍니다.
이 나머지값은 a 배열이 끝난 경우 남은 b 배열의 값이 될테고, b 배열에 끝난 경우 남은 a 배열의 값이 됩니다.
때문에 3은 b(m)이, 5는 a(m)이 되는 것이죠.
행복한 하루되세요 :)
-
관리자2021-08-24 11:26:21
안녕하세요 길벗수험서 운영팀입니다.
배열 a와 b는 이미 오름차순으로 정렬되어 있다고 하니 배열 c에 차례대로 값을 저장해야 합니다.
먼저 a(i)와 b(j)를 비교하여 더 작은 값이 c(k)에 들어가야겠죠. 문제에서 배열 c는 오름차순이라고 했으니까요.
그럼 1번에는 a(i)가, 2번에는 b(j)가 들어갑니다.
c(k)에 값이 들어갔으니 k의 값을 1 증가하고 각 배열의 위치를 담당하는 변수 i, j의 값도 증가시켜 줍니다.
다음, 배열 a 또는 b가 모든 값을 처리했는지 여부를 물어봅니다. (i>x, j>y)
아니라면 다시 돌아가 값을 비교해 c 배열에 넣어주면 되고, 그렇다면 다음 반복문을 수행하여 나머지 값들을 넣어줍니다.
이 나머지값은 a 배열이 끝난 경우 남은 b 배열의 값이 될테고, b 배열에 끝난 경우 남은 a 배열의 값이 됩니다.
때문에 3은 b(m)이, 5는 a(m)이 되는 것이죠.
행복한 하루되세요 :)