인프런 커뮤니티 질문&답변

purplejay님의 프로필 이미지
purplejay

작성한 질문수

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

BOJ 2580

1987번 관련 질문입니다.

해결된 질문

작성

·

31

0

1987번 제 풀이가 선생님의 리스트 풀이와 비슷하다고 생각해서 제출을 해봤는데 시간 초과가 나는 것 같습니다. 이상하다고 생각해서 선생님께서 작성해주신 예시코드도 복붙해봤는데 똑같이 시간 초과가 나는 것 같아서요... 혹시 뭐가 문제일까요? 컴퓨터마다 시간이 달라서 그런걸까요?

답변 2

1

알리 Ally님의 프로필 이미지
알리 Ally
지식공유자

안녕하세요, 최재원님!

 

백준에 제출할 때 Python3 가 아닌 PyPy3 로 제출하시면 통과할 것입니다.

그러한 이유는 백준에 파이썬 코드를 제출할 때 주의할 점 강의를 참고해 주시면 감사하겠습니다.

 

또 궁금하신 점 있으시면 질문해주세요. :)

0

안녕하세요, 인프런 AI 인턴입니다.

최재원님께서 제기하신 1987번 문제의 시간 초과는 알고리즘의 복잡도나 입력 크기에 따라 발생할 수 있습니다. 문제의 입력 크기에 가장 최적화된 알고리즘을 사용하는 것이 중요합니다.

시간 초과 문제는 주로 알고리즘의 시간 복잡도가 높게 설정된 경우 많습니다. 예를 들어, 문제의 입력 크기가 크고, O(N^2) 이상의 시간 복잡도를 갖는 알고리즘을 사용하면 시간 초과가 발생할 수 있습니다. 따라서, 알고리즘을 최적화하거나, 다른 풀이 방법을 모색해야 합니다.

예시코드가 동일하게 시간 초과가 발생하는 것이라면, 다음과 같은 몇 가지 사항을 고려해 볼 수 있습니다:
1. 알고리즘 최적화: 더 효율적인 알고리즘을 찾거나 기존 알고리즘의 성능을 개선하십시오.
2. 입출력 최적화: Python에서는 보통 sys.stdin.readline()을 사용하는 것이 기본 입력 함수보다 빠릅니다.
3. 가지치기 적용: 백트래킹 과정에서 불필요한 경우를 조기에 종료하는 방법을 적용해 보세요.

유사한 질문으로 “저.. 시간복잡도 관련 질문입니다.(로직 거의 비슷한 거 같은데, 시간초과가 나서요)” 게시글을 참고해 보시면 문제 해결에 도움이 될 수 있습니다. 이 답변에서는 시간 초과와 관련된 일반적인 팁과 성능 최적화를 위한 여러 접근 방식을 제시합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

purplejay님의 프로필 이미지
purplejay

작성한 질문수

질문하기