처음에 접근법을 조금 해맸다, 값은 정확하게 도출이 되지만 시간 초과가 되어서
반복문을 너무 사용한 탓으로 판단을 하고 접근법을 바꾸었다.
람다 함수를 사용하여 정렬을 시켜주어 첫 시작시간을 최솟 시작시간으로, 반복문을 돌리면서 처음 정해놓았던 최소 종료시간보다 크거나 같다면
변경을 해주면서 루프를 해주는 형식으로 코드를 구현하였다. 파이썬으로 풀이한 과정은 다음과 같다.
num = int(input())
times = []
count = 1
for i in range (num):
time = tuple(map(int, input().split()))
times.append(time)
times.sort(key = lambda x: x[0])
times.sort(key = lambda x: x[1])
endTime = times[0][1]
for i in range (1, num):
if (times[i][0] >= endTime):
endTime = times[i][1]
count += 1
print(count)
'개발적인 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 옹알이(1) (0) | 2022.11.08 |
---|---|
[프로그래머스] JadenCase 문자열 만들기 (0) | 2022.09.16 |
[백준] 11047번 (0) | 2022.05.06 |
[백준] 11399번 (0) | 2022.05.06 |
[백준] 2839번 (0) | 2022.05.06 |
댓글