namboo1994   5년 전

제 개인적으로는 문제가 없어보입니다.

질문 검색하면서 거의 모든 반례를 넣어봐도 문제가 없었습니다.

고수분들 도와주세요 ㅜㅜ

jh05013   5년 전

https://www.acmicpc.net/blog/v...
지금은 데이터의 끝에 '\n'가 반드시 들어오도록 되어 있지만, 오래된 데이터는 '\n'가 없는 경우가 있습니다.

namboo1994   5년 전

죄송합니다 ㅜㅜ 제가 초보라서 저게 어떤 의미로 쓰였는지 조금은 이해가 안가네요

정답 출력할때 \n이 나오게 해야한다는 건가요 아니면 입력값을 받을때 신경을 써줘야한다는건가요

chsun0303   5년 전

@namboo1994 입력데이터에 '\n'이 끝에 붙어있을 수 있기 때문에, 입력받은 것에서 '\n'을 제거해줘야 한다는 말입니다. 

sys.stdin.readline()은 뒤에 개행문자까지 입력받기 때문이고, strip() 한 번 해 주면 됩니다.

저는 그래서 파이썬으로 문제풀 땐 sys.stdin.readline().strip()한 것을 사용합니다.

jh05013   5년 전

그 반대입니다. 위 코드는 모든 줄이 '\n'로 끝난다는 가정 하에 작성되었는데 (그래서 [0:-1]을 한 것으로 보입니다), 오래된 데이터는 끝에 '\n'이 없을 수도 있습니다. 즉 [0:-1]보다 .strip()이 더 안전합니다.

namboo1994   5년 전

와... strip()을 이렇게 쓰는거군요

이해가 됩니다 스승님들.. 프로그래밍 초짜 가르치느라 너무너무 감사합니다.

나중에 모르는게 있으면 찾아뵐수도 있겠네요

댓글을 작성하려면 로그인해야 합니다.