파이썬
CodeUp 6083 시간초과 문제 (해결)
mminky
2021. 4. 14. 15:08
728x90
[ 원래 코드 ]
a,b,c=map(int,input().split())
num=0
for i in range(0,a):
for j in range(0,b):
for k in range(0,c):
print(i,j,k)
num+=1
print(num)
-> 시간초과에러가 발생했다..
심지어 정답 코드랑도 동일하던데..
답변에는 새벽시간에 내라, 정답의 복잡도는 O(N^3)이다 이런 말 밖에 없었다..
[ 고친 코드 ]
print()함수는 한 번 실행되는 시간이 오래 걸리기 때문에 시간초과가 걸렸다고 한다.
그래서 다음과 같이 string에 결과를 추가해서 마지막에 한 번 출력하는 방향으로 진행했다. (@ji.o.n.e의 도움으로..)
a,b,c=map(int,input().split())
num=0
answer=''
for i in range(0,a):
for j in range(0,b):
for k in range(0,c):
answer+=str(i)+' '+str(j)+' '+str(k)+'\n'
num+=1
print(answer,num,sep='')
[ 결과 ]
그래도 여전히 시간이 많이 걸리기는한다.
아무튼 해결!!
[ Code Up 해당 문제 ]
[기초-종합] 빛 섞어 색 만들기(설명)(py)
python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
※ 제 글이 도움이 되었다면 공감 부탁드려요 :)
반응형