반응형
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 인 경우
s[0] != s[4] 이면 회문이 아니거나
s[1] != s[3] 이면 회문이 아니다.
이것을 문제와 같은 식으로 풀어 보면
for ( i = 0 ; i <= n/2 - 1;i++)
if ( s[i] != s[n - i - 1]) { 회문이 아니다 }
와 같은 식으로 나타낼 수 있다.
정답) 1번
반응형
'정보올림피아드지역예선' 카테고리의 다른 글
정보올림피아드 초등 - 지역예선] 2009년도 31-32번문제 (0) | 2013.09.28 |
---|---|
정보올림피아드 초등 - 지역예선] 2009년도 30번문제 (0) | 2013.09.26 |
정보올림피아드 초등 - 지역예선] 2009년도 27- 28번문제 (0) | 2013.09.25 |
정보올림피아드 초등 - 지역예선] 2009년도 26번문제 (0) | 2013.09.25 |
정보올림피아드 초등 - 지역예선] 2009년도 25번문제 (0) | 2013.09.24 |