본문 바로가기

정보올림피아드

정보올림피아드 초등 - 지역예선] 2009년도 29번문제 29.영어 단어 “madam”이나 “radar”처럼 앞에서 뒤로 읽는 것이나 뒤에서 앞으로 읽는 것이 동일한 단어를 회문(palindrome)이라고 한다. 주어진 문자열이 회문인지를 판별하는 프로그램을 다음과 같이 작성하였다. 빈 칸에 들어갈 내용으로 알맞은 것은? ①s[i] != s[n - i - 1] ②s[i] != s[n - i] ③s[i] != s[i + n / 2] ④s[n / 2 - i] != s[n / 2 + i] ⑤s[n / 2 - i - 1] != s[n / 2 + i] 문제풀이) 앞으로 읽는것과 뒤에서 읽는것이 동일 하기 위해서는 중간 지점을 기준으로 좌측과 우측으로 한칸씩 비교 하면 된다. s 배열 0 1 2 3 4 배열이 0 번지 부터 시작하는 s 가 있으며 길이 n 이 5 인 경우.. 더보기
정보올림피아드 초등 - 지역예선] 2009년도 27- 28번문제 27-28] 배열 a의 a[1]부터 a[10]까지에 10개의 정수 값이 들어 있다. 이 배열은 오름차순으로 정렬되어 있으며, 몇 개의 중복된 값을 가질 수도 있다. 이 때, 배열 a가 몇 개의 서로 다른 값으로 구성되어 있는지를 구하는 프로그램을 작성하였다. 예를 들어 배열 a에 다음과 같이 값들이 저장되어 있다고 하자. a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3 5 5 6 8 10 11 12 13 13 이 경우에는 배열 a가 3, 5, 6, 8, 10, 11, 12, 13, 이렇게 총 8가지의 값으로 이루어져 있으므로 8이 출력된다. 27.㉠에 들어갈 내용으로 알맞은 것은? ①0 ②8 ③9 ④10 ⑤11 28. ㉡에 들어갈 내용으로 알맞은 것은? ①a.. 더보기
정보올림피아드 초등 - 지역예선] 2009년도 26번문제 26.아래와 같은 함수 f가 있다고 하자. f(1, 1025)를 실행했을 때, 함수 f가 호출되는 횟수는 총 몇 번인가? 문제 풀이) 우선 실행 되는 규칙을 찾는다. f(1,1) 인경우는 if (n == 1) return; 문장에서 리턴 되므로 한번 수행 된다. f(1,2) 인 경우는 f(s, s + n / 2 - 1); f(s + n / 2, e); 문장에서 f(1,1); 과 f(2,2) 를 호출 한다. F(1,3) 은 f(1,1) 과 f(2,3) 을 호출 하고 f(2,3) 은 f(2,2) 와 f(3,3) 을 호출한다. 이렇게 찾은 규칙을 살펴 보면 f(1,1) => 1회 f(1,2) => 3회 f(1,3) => 5회 위와 같은 규칙이 성립함을 알 수 있다. 따라서 f(a,b) 에서 f 함수를 실행하는.. 더보기
정보올림피아드 초등 - 지역예선] 2009년도 22-23번문제 문제풀이) 22번) k 13 6 3 1 0 r 0 1 1 2 3 k 값과 r 값의 변환 과정을 확인 한다. 위와 같이 확인 한 결과 2로 순차적으로 나누면서 나머지의 갯수를 구하는 것으로 이진수로 나타내는 공식이기도 함 위의 값을 보면 13 을 이진수로 변환한 1011 에서 1의 갯수를 의미함 23번) 숫자 0 부터 15까지의 십진수를 이진수로 변환하여 1의 갯수를 구하는 것임 0을 이진수로 변환해 보면 0000 이며 15 를 이진수로 변환해 보면 1111 이므로 0000 ~ 1111 까지의 순차적으로 증가한 수 라는 것을 알 수 있음 0000 ~ 1111 까지의 전체 숫자는 4자리 수이며 0 과 1을 이용한 수이므로 2 * 2 * 2 * 2 = 16 개의 숫자임을 알 수 있으며 16개에 사용된 총 숫자.. 더보기
정보올림피아드 초등 - 지역예선] 2009년도 21번문제 문제풀이) 우선 각각의 조건이 소수를 구하는 조건을 만족하는지 체크한다. 1) d 더보기
정보올림피아드 초등 - 지역예선] 2009년도 20번문제 문제 풀이) 빈칸으로 오는 경우는 a 가 b 보다 작은 경우에 속하므로 빈칸에서는 b와 c를 비교 하여 큰 것을 출력 한다 정답) 4번 더보기
정보올림피아드 초등 - 지역예선] 2009년도 19번문제 문제풀이) f(99) = f(f(110)) = f(100) = f(f(111)) = f(101) = 91 정답) 2번 더보기
정보올림피아드 초등 - 지역예선] 2009년도 18번문제 문제 풀이) 먼저 (px,py) 가 사각형 안에 있으려면 다음과 같은 조건을 만족해야 한다. px 는 x1 보다 크고 x2 보다 작고 py 는 y1 보다 크고 y2 보다 작아야 한다. 이걸 표시하면 if (px > x1) && (px y1) && (py < y2) 처럼 표시 할 수 있다. 정답) 2번 더보기