thnam91   4년 전

10823 문제를 풀던 도중에 문제가 생겨서 질문 남깁니다.

먼저 사용자 입력이 언제 끝날지 모르는 경우 파이썬에서 어떻게 처리할 수 있을까요?

구글링을 해봐도 마땅한 답변을 못 찾아서 질문드립니다.


이를 테면, 다른 문제의 경우 입력이 끝날 때 '0'이 입력된다던가 아니면 Testcase의 개수가 정해져 있어서 그만큼 반복한다던가 했습니다.

그런데 이 문제는 사용자 입력이 끝났는 지 어떻게 판단할 수 있는 것인지 궁금합니다.


사용자 입력을 제가 잘 못 처리해서 인지, 자꾸만 런타임에러가 발생합니다.

사실 작성한 코드는 사용자 입력이 끝난 후 엔터를 한 번만 더 눌러주면 정상적으로 답안은 출력됩니다만, 런타임 에러가 자꾸만 발생하네요.

아마 사용자 입력 처리 부분에서 미흡한 것 때문에 그런 것 같습니다.

waylight3   4년 전

이런식으로 try except로 하니까 되긴 하네요.

jh05013   4년 전

sys 모듈을 사용하는 방법도 있습니다.

thnam91   4년 전

#waylight3 오~ 감사합니다.

안그래도 파이썬 공부하면서 문제는 맞아도 발로 짠거 같아서 고수님들 코드 복기하면서 배우고 있는데.

파이썬으로 문제푸시는 분이 얼마 안계셔서 #waylight3 님 코드를 상당히 많이 보고 있습니다.


답변 달아주시니 신기하기도 하네요,

아무튼 이번에도 답변 달아주신 것 보고 바로 해결했습니다. 한 수 또 배웁니다!

thnam91   4년 전

#jh05013 감사합니다.

입출력에 대해서는 왠만해서는 추가적인 사항이 없다고 생각했는데, 아직도 부족한 부분이 많습니다.


정말 이번 질문이 신기하게도 제 크롬 북마크에 새겨 놓고 자주 참조하는 두 분이 직접 답변을 달아주셨네요.

반갑기도 하면서, 신기합니다.


문제를 풀어서 정답이 될 때마다, 작성하신 파이썬 코드 보면서 참조 많이하고 있습니다. 정말 감사합니다.

제가 짠 코드는 그다지 파이써닉하지 않은 것 같아서, 코드를 볼 때마다 많이 배우네요.

waylight3   4년 전

그리고 input보다 sys.stdin으로 받는 것이 훨씬 빠릅니다. 파이썬이라 시간초과가 날 때 대부분 저걸로 해결되더라구요.

waylight3   4년 전

그리고 제 누추한 코드를 봐주시다니.. 감사합니다 :)

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