시간초과 관련 질문이요
345
작성한 질문수 9
# 수들의 합
N, M = list(map(int, input().split()))
num = list(map(int, input().split()))
cnt = 0
for i in range(len(num)):
if num[i] == M:
cnt += 1
continue
tot = num[i]
for j in range(i+1, len(num)):
tot += num[j]
if tot == M:
cnt += 1
break
if tot > M:
break
print(cnt)수업 듣기 전 작성한 코드인데요. 이중포문을 사용했습니다. 틀린 풀이인가요? 5번에서 시간초과가 나오던데 이렇게 풀면 안되는 이유가 뭔가요?
또 다른 글에 답변 달아주신 것 보니 이 문제는 O(n)의 시간복잡도로 풀어야 한다고 하셨는데요. 문제를 보고 이 문제는 O(~~)의 시간복잡도로 풀어야겠다는 계산은 어떻게 하는건가요? 그냥 풀어보고 시간초과 오류가 나면 O(n)의 풀이로 다시 푸는건가요?
답변 1
0
안녕하세요^^
사실 요즘 코딩테스트를 보면 이런 문제는 정확성도 보지만 효율성도 본다라고 문제에서 미리 이야기해주는 경향이 많습니다. 이런 말이 없을 경우 N제한이 여기는 제가 10,000밖에 안했지만 보통 100,000이상으로 주어지면 효율성도 본다라고 생각하시면 됩니다. 그것도 아니면 채점해보고 판단해야 합니다.
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
1
104
2
스택에서 ')'을 만나는 경우
0
110
3
문제가 어디있나요?
0
86
2
변수 or 함수명
0
80
1
침몰하는 타이타닉 문제 질문입니다
0
71
1
AA.py 책점 에러
0
64
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
115
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
118
1
아나그램 비교 코드
0
124
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
163
2
문제 링크가있나여?
0
155
2
채점기 Time Limit Exceeded 오류 문의
1
181
2
동적계획법은 사용하는 문제
0
135
2
제 코드 좀 봐주세요
0
154
1
예외가 존재할 가능성?
0
100
1
3번이 안풀립니다
0
98
0
5번 틀림
0
125
0
오류원인?
0
104
0
리스트 선언
0
116
1
침몰하는 타이타닉(그리디) 문제 질문
0
114
1
알고리즘
0
74
1
코딩테스트
0
98
1
DFS 순서 질문드립니다.
0
138
2
left, right를 사용한 풀이법에 대한 질문입니다
0
101
1





