본문 바로가기

개발일지/TIL

TIL 23-07-12 백준 반례찾기 팰린드롬수

1.백준 1259번 - 팰린드롬수

문제점

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

https://www.acmicpc.net/board/view/121707

시도해 본 것들

코드 이해하기 

# import sys
# input = sys.stdin.readline
while True:
	# 0이 입력될 때 까지 while문 반복
    num = input()
    if num == '0':
        break
    else:
    	# 입력의 역순이 같으면 yes 아니면 no
        revNum = num[::-1]
        judge = 'yes' if revNum == num else 'no'
        print(judge)

출력 초과가 한다고 했지만 현재 코드에서 문제가 될 점이 보이지 않았다. 

그래서 제출을 했을 때 통과 되는 것을 확인할 수 있었다. 

하지만 질문자의 제출 기록을 확인했을 때 출력 초과가 있는 것을 확인한 뒤 주석이 눈에 들어왔다. 

 

해결 방법

readline 함수를 사용하며 이 코드에 split()을 추가하지 않는다면 기본적으로 개행 문자 '\n'이 추가되는 것을 기억하고 있었기 때문에 여기서 '0\n'이 되면서 if문에 진입하지 못한다는 것을 예측할 수 있었다. 

알게 된 점

게시판 문제에서 내가 이미 경험했던 부분을 확인하며 복습에 상당한 효과가 있다.