개발/πŸ€– μ•Œκ³ λ¦¬μ¦˜

baekjoon. νšŒμ˜μ‹€ λ°°μ • [Silver I] [python]

ttoance 2023. 6. 8. 09:24

문제 링크 : 

 

1931번: νšŒμ˜μ‹€ λ°°μ •

(1,4), (5,7), (8,11), (12,14) λ₯Ό μ΄μš©ν•  수 μžˆλ‹€.

www.acmicpc.net

N = int(input())
meetings = []

for i in range(N):
    start, end = map(int, input().split())
    meetings.append([start, end])
    
# print(meetings)
meetings.sort(key=lambda x: (x[1], x[0])) 
# 회의 λλ‚˜λŠ” μ‹œκ°„ μ˜€λ¦„μ°¨μˆœ, κ°™λ‹€λ©΄, 희의 μ‹œμž‘ν•˜λŠ” μ‹œκ°„ μ˜€λ¦„μ°¨μˆœ 
# print(meetings)


# (회의 λλ‚˜λŠ” μ‹œκ°„ - 회의 μ‹œμž‘λ˜λŠ” μ‹œκ°„)이 μž‘μ€ 것뢀터 κ³ λ₯Έλ‹€.
# νšŒμ˜κ°€ μ‹œμž‘λ˜λŠ” μ‹œκ°„μ΄ μž‘μ€ κ°’λΆ€ν„° κ³ λ₯Έλ‹€.
# νšŒμ˜κ°€ λλ‚˜λŠ” μ‹œκ°„μ΄ μž‘μ€ κ°’λΆ€ν„° κ³ λ₯Έλ‹€. 


# νƒμš•λ²• 
# 회의 λλ‚˜λŠ” μ‹œκ°„μ΄ λΉ λ₯Ό 수둝 더 λ§Žμ€ 회의λ₯Ό κ³ λ₯Ό 수 μžˆλ‹€ 
# λλ‚˜λŠ” μ‹œκ°„ 이후뢀터 κ°€μž₯ 빨리 μ‹œμž‘λ˜λŠ” 회의λ₯Ό 골라야 ν•œλ‹€. 

result = 0
endTime = 0
for i in range(len(meetings)):
    # μ‹œμž‘μ‹œκ°„μ΄ ν˜„μž¬ μ’…λ£Œμ‹œκ°„λ³΄λ‹€ κΈΈλ©΄ 
    if endTime <= meetings[i][0]:
        endTime = meetings[i][1]
        result = result + 1
        
print(result)

접근법 : 

- 회의 λλ‚˜λŠ” μ‹œκ°„μ΄ λΉ λ₯Ό 수둝 더 λ§Žμ€ 회의λ₯Ό κ³ λ₯Ό 수 μžˆλ‹€. 

- λλ‚˜λŠ” μ‹œκ°„ 이후뢀터 κ°€μž₯ 빨리 μ‹œμž‘λ˜λŠ” 회의λ₯Ό 골라야 ν•œλ‹€. 

 

cf) python sort 

https://ddoance.tistory.com/86

 

λ°˜μ‘ν˜•