[7급 국가직 자료구조론 2022년 12번]

회문(palindrome)은 영어 단어 radar와 같이 순서를 거꾸로 뒤집어도 원본과 동일한 단어를 의미한다. 다음 C 코드의 isPalindrome() 함수는 입력 문자열이 회문인 경우 1을 반환하고, 그렇지 않을 경우는 0을 반환한다. (가), (나)에 들어갈 내용을 바르게 연결한 것은?
#include <stdio.h> 
char stack[100];
int top = -1; 

void push(char ch) {stack[++top] = ch;}  

char pop() {return stack[top--];}

int isEmpty() {return top == -1;}

int isPalindrome(char *str) {
    int i;
    for ( i = 0; str[i]; i++ )
        (가) ;
		
    for ( i = 0; !isEmpty(); i++ )
        if ( (나) )
            return 0;
    return 1;
} 

int main() { 
    char input[100]; 
    scanf("%s", input); 
    printf("%s",
        isPalindrome(input) ? "True" : "False");
}
(가) (나)
자료구조론
  1. ①push(str[i]) str[i] == pop()
  2. ②push(str[i]) str[i] != pop()
  3. ③push(str[top-i]) str[i] == pop()
  4. ④push(str[top-i]) str[i] != pop()

선지를 골라 바로 채점해 보세요.

정답 ②

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고