반응형
30.1에서 50까지의 서로 다른 숫자가 적혀 있는 카드 50장이 쌓여있다. 위에서부터 i번째 위치에 어떤 숫자 카드가 있는지를 나타내는 배열이 입력으로 주어졌을 때, 숫자 p가 적힌 카드가 위에서 몇 번째 위치에 있는지를 출력하는 프로그램을 만들려고 한다.
㉠, ㉡에 들어갈 내용으로 각각 알맞은 것은? ① ㉠ : b[a[i]] = a[i]; ㉡ : a[b[p]] ② ㉠ : b[a[i]] = i; ㉡ : a[b[p]] ③ ㉠ : b[i] = a[i]; ㉡ : b[p] ④ ㉠ : b[a[i]] = a[i]; ㉡ : b[p] ⑤ ㉠ : b[a[i]] = i; ㉡ : b[p] |
문제풀이)
a 배열에는 다음과 같은 형태로 카드번호가 적힌 데이터를 가지고 있다.
a
배열번호(i) |
1 |
2 |
3 |
4 |
... |
47 |
48 |
49 |
50 |
카드번호 |
10 |
1 |
3 |
8 |
... |
4 |
7 |
2 |
5 |
위와 같은 카드 데이터 배열을
b 의 배열에 카드번호 위치에 i 값을 입력 한다.
배열번호(카드번호) |
1 |
2 |
3 |
4 |
5 |
... |
|
|
|
i |
2 |
49 |
3 |
47 |
50 |
... |
|
|
|
찾을 카드번호 p 의 위치(i) 값을 찾는 경우 b[p] 의 값을 찾으면 원래 있던 위치(i)의 값을 찾을 수 있다.
따라서 ㉠ 에는 b[a[i]] = i 로 b 배열을 채운 후
㉡ 에는 b[p] 의 값을 출력 한다.
정답) 5번
반응형
'정보올림피아드지역예선' 카테고리의 다른 글
정보올림피아드 초등 - 지역예선] 2009년도 33-35번문제 (0) | 2013.09.29 |
---|---|
정보올림피아드 초등 - 지역예선] 2009년도 31-32번문제 (0) | 2013.09.28 |
정보올림피아드 초등 - 지역예선] 2009년도 29번문제 (0) | 2013.09.25 |
정보올림피아드 초등 - 지역예선] 2009년도 27- 28번문제 (0) | 2013.09.25 |
정보올림피아드 초등 - 지역예선] 2009년도 26번문제 (0) | 2013.09.25 |