gyeongmin951   2년 전

안녕하세요

질문 1. 어떤 차이로 시간초과인지 궁금해서 남깁니다.

시간초과 코드에서 처음  l을 리스트로 설정한 것이 문제인가 싶어 제네레이터로 바꿔도 시간초과가 나네요..

질문 2. input 말고 다른 것을 써야 시간초과가 안나는 걸까요

질문 3. 정답코드 실행(주피터노트북에서) 시 출력의 결과가 오류로 판단되는데 왜 정답인지도 궁금합니다.

예시 출력 결과:

5

1

2

5

3

NO

4

+

-

+

-

+

+

+

-

-

314programs   2년 전

1. in 이나 not in은 최악에 경우에는 O(n)에 시간이 걸릴수 있어요.

시간을 비교해서 보여줄라고 했는데 입력이 끝나지도 않았을때 NO가 출력되요.

2. 

import sys

input = sys.stdin.readline

이 라인 2게를 넣으면 입력 속도가 빨라져요.

하지만 주피터노트북에서는 안돌아가요. 터미널이나 비쥬얼 스튜디오 코드에서는 돌아가요.

출력속도를 올리고 싶다면 print = sys.stdout.write()를 쓰시면 되요.

하지만 '\n'을 항상 넣어야 합니다.

3. import sys를 추가한후 돌리니 틀렸다고 나와요.

gyeongmin951   2년 전

314programs

in 이나 not in은 잘 써야겠군요.. 감사합니다

1번 답변에서 입력이 끝나지 않았을 때 NO가 출력이 되면 안 되고 무조건 다 받고 출력이 되야하는 걸까요?

정답 코드도 입력을 받다가 불가능하면 exit(0)으로 종료를 해서 된다고 생각했습니다ㅜ

314programs   2년 전

아... 그건 제가 터미널으로 입력을해서 에러가 발생했네요. 죄송합니다.

답이 NO일때 종료를 해도됩니다. 하지만 다시 태스트를 해보니 예제 입력 1에서 틀리네요, NO를 출력합니다...


gyeongmin951   2년 전

성의 있는 답변 정말 감사합니다 좋은 하루 되십시오:)

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