yordlejason   6년 전

넵... 제목과 같이 시간초과로 인해 오답 판정을 받은 상태입니다.
코드에서 비효율적인 부분이 있다면 지적 부탁드립니다.
시간이 되신다면 코딩 스타일에 대한 지적도 감사히 배우겠습니다.

좋은하루 되세요 :-)

jh05013   6년 전

입력이 한 줄 밖에 안 되므로 stdin.readline을 할 필요는 없습니다. 특히 스트링을 입력받는 상황이면 개행문자때문에 오히려 더러워집니다. 스트링 입력이 몇 만줄이어서 꼭 stdin.readline을 써야 하는 상황이면 stdin.readline().rstrip()이나 [:-1]으로 입력받을 수 있습니다.

s = "a"+s는 절대 하면 안 됩니다. s = s+"a"는 O(1)이 걸리지만, s = "a"+s는 "a"의 끝에 s의 문자를 하나씩 붙여넣기 때문에 O(len(s))가 걸립니다. 10줄에서 이것이 len(bins)번 반복되므로 여기에서 시간초과가 납니다.

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