23.05.12 19:51 작성
·
209
1
import sys
sys.stdin = open("input.txt", "rt")
n, m = map(int, input().split()) # n = 승객 수, m = 무게 제한
weight = list(map(int, input().split()))
weight.sort()
ans = 0
lt, rt = 0, n-1
while lt <= rt:
if weight[lt] + weight[rt] <= m:
ans += 1
lt += 1
rt -= 1
else:
ans += 1
rt -= 1
print(ans)
문제의 답안으로 작성한 코드인데 해당 코드의 반례가 있는지 궁금하고, 강의에 나온 정답 코드와 비교했을 때 시간복잡도면에서 불리한지 궁금합니다!
답변 1
1
2023. 05. 13. 07:41
안녕하세요^^
잘 하신 코드입니다. 영상 뒷부분에 pop(0) 코드를 deque를 사용해 popleft로 개선을 하는데 위에 코드 lt, rt로 인덱싱하는게 popleft를 쓰는 것과 같은 시간복잡도입니다.