해결된 질문
작성
·
332
0
n = int(input())
n_list = [list(map(int, input().split())) for _ in range(n)]
n_list.sort(key=lambda x: (x[1], x[0]))
cnt = 1
cur = n_list[0][1]
for i in range(n):
if cur <= n_list[i][0]:
cur = n_list[i][1]
cnt += 1
print(cnt)
위 코드로 강사님이 제시해주신 케이스는 다 통과하는데,
동일한 문제임에도 백준 1931번은 틀렸습니다로 출력됩니다.
cnt=0, cur=0으로 고쳐서 해결하긴 했는데, 첫번째 회의는 무조건 회의실에 배정된다고 생각하는게 왜 틀린 생각인지 모르겠어서 질문 드리게 되었습니다.
감사합니다!
답변 1
0
안녕하세요^^
아래 코드처럼 for문을 1부터 돌려야 합니다.
n = int(input())
n_list = [list(map(int, input().split())) for _ in range(n)]
n_list.sort(key=lambda x: (x[1], x[0]))
cnt = 1
cur = n_list[0][1]
for i in range(1, n):
if cur <= n_list[i][0]:
cur = n_list[i][1]
cnt += 1
print(cnt)
백준문제는 회의의 시작시간과 끝나는 시간이 같은 회의도 입력될 수 있다는 사실 때문입니다.
입력을
2
3 3
3 3
입력해 보세요. 답은 2입니다. 님 코드는 3이 나올겁니다.
감사합니다!!