728x90
코드
#include <stdio.h>
#include <string.h>
int is_palindrome(char arr[], int len) { //팰린드롬수인지 판별하는 함수
for (int i = 0; i < len / 2; i++)
if (arr[i] != arr[len - i - 1])
return 0;
return 1;
}
main() {
char num[100000];
while (1) {
scanf("%s", num); //문자열로 입력 받음
if (strlen(num) == 1 && num[0] == '0') //0 입력시 실행 종료
break;
else
is_palindrome(num, strlen(num)) == 0 ? printf("no\n") : printf("yes\n");
}
}
설명
숫자를 문자열로 입력 받고, 입력 받은 숫자가 0이면 실행을 종료한다.
0이 아니라면 is_palindrome 함수를 통해 팰린드롬수인지 판별한다.
for문에서 문자열의 양 끝 숫자부터 차례로 비교하여 숫자가 다르면 팰린드롬수가 아니므로 0을 리턴, 팰린드롬수이면 1을 리턴한다.
이후 리턴값에 따라 팰린드롬수이면 yes, 아니면 no를 출력한다.
728x90
'C & C++ > BOJ' 카테고리의 다른 글
[백준] 4673번: 셀프 넘버 (0) | 2021.02.19 |
---|---|
[백준] 1264번: 모음의 개수 (1) | 2021.02.19 |
[백준] 1152번: 단어의 개수 (0) | 2021.02.09 |
[백준] 2869번: 달팽이는 올라가고 싶다 (0) | 2021.02.09 |
[백준] 1316번: 그룹 단어 체커 (0) | 2021.02.09 |