728x90
반응형
🔗 Problem Link
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
❔Thinking
- 개구간 (s, e)들이 주어질 때, 모든 구간을 통과하는 막대의 최소 개수를 반환한다.
- s나 e에서는 해당 구간을 통과할 수 없다.
💻Solution
def solution(targets):
answer = 0
targets = sorted(targets, key=lambda x: x[1])
e = 0
for i in range(len(targets)):
if targets[i][0] >= e:
answer += 1
e = targets[i][1]
return answer
🗝️keypoint
- 이 문제의 풀이 여부는, 모든 구간을 시작점이 아니라 끝점을 기준으로 정렬하는 데에 있다.
- 결과적으로, 구간을 하나씩 확인하면서 이전 구간의 끝점이 현재 구간의 시작점보다 크다면 (targets[i][0] >= e), 새로운 막대가 필요하다.
'코딩테스트 > Python' 카테고리의 다른 글
[Programmers] Level 2. 혼자서 하는 틱택토 (0) | 2025.01.24 |
---|---|
[Baekjoon] 2493. 탑 (0) | 2025.01.20 |
[Baekjoon] 1101. Fly me to the Alpha Centauri (0) | 2025.01.17 |
[Programmers] Level 2. 과제 진행하기 (0) | 2025.01.16 |
[Beakjoon] 9663. N-Queen (0) | 2025.01.16 |