코딩/백준 문제 (브론즈)

[백준/1259/C언어] 팰린드롬수 _ 풀이

룻밤 2024. 1. 14. 11:36

 

https://www.acmicpc.net/problem/1259

 

1259번: 팰린드롬수

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.

www.acmicpc.net


풀이

#include <stdio.h>
int main() {
	char str[6];
	
	// 0을 입력시 종료
	while (scanf("%s", str) && str[0] != '0') {
		int len = 0;
		int flag = 1;
		// 문자열의 길이 계산
		while (str[len] != '\0') len++;
		// ex) 5자리 수일때 앞에서 두번째 자리까지만 보면 됨
		for (int i = 0; i < len / 2; i++) {
			// 앞, 뒤가 일치하지 않을 때
			if (str[i] != str[len - 1 - i]) {
				flag = 0;	// 플래그 변경
				break;		// 종료
			}
		}
		// 삼항연산자로 flag가 참, 거짓일 때 각각 출력
		flag ? printf("yes\n") : printf("no\n");
	}

	return 0;
}