πŸ’» Coding/[Algorithm]Python

μ†Œν”„ν‹°μ–΄ | κ°•μ˜μ‹€ λ°°μ • ⭐⭐⭐ - PYTHON

🩷 민영 2024. 3. 20. 16:44

μ†Œν”„ν‹°μ–΄ | κ°•μ˜μ‹€ λ°°μ • β­β­β­ - PYTHON

 

문제

https://softeer.ai/practice/6291

 

Softeer - ν˜„λŒ€μžλ™μ°¨κ·Έλ£Ή SWμΈμž¬ν™•λ³΄ν”Œλž«νΌ

 

softeer.ai

 

μ•Œκ³ λ¦¬μ¦˜

λ°±μ€€μ—μ„œ κ°•μ˜μ‹€μ„ νšŒμ˜μ‹€λ‘œλ§Œ 바뀐 문제λ₯Ό ν’€μ–΄λ³Έ κ²½ν—˜μ΄ μžˆλ‹€. κ·Έ 기얡을 더듬더듬,,, 더듬이(μ£„μ†‘ν•©λ‹ˆλ‹€) λ”λ“¬μ–΄μ„œ 문제λ₯Ό ν’€μ–΄ λ³΄μ•˜λ‹€.

 

일단 μ€‘μš”ν•œκ±°λŠ” κ°•μ˜μž₯ μ‹œκ°„ν‘œλ₯Ό 2차원 λ°°μ—΄λ‘œ λ§Œλ“€μ–΄ λλ‚˜λŠ” 순으둜 μ •λ ¬ν•˜λŠ” κ²ƒμ΄μ—ˆλ‹€. μ΄λ•Œ λλ‚˜λŠ” μ‹œκ°„μ΄ 같은 κ°•μ˜κ°€ μžˆμ„ 수 μžˆμœΌλ―€λ‘œ κ·Έ 쀑에 빨리 μ‹œμž‘ν•˜λŠ” κ°•μ˜λ‘œ μ •λ ¬ν•œλ‹€.

 

λ‚΄ 풀이

import sys
input = sys.stdin.readline

N = int(input())
# κ°•μ˜μ‹€ μ‹œκ°„ν‘œ
schedule = [[0]*2 for _ in range(N)]
result = 1

for i in range(N):
    start, end = map(int, input().split())
    schedule[i][0] = start
    schedule[i][1] = end

# νšŒμ˜κ°€ λλ‚˜λŠ” μ‹œκ°„μ„ κΈ°μ€€μœΌλ‘œ μ •λ ¬ ν›„ λ™μ‹œκ°„μΌ λ•Œ μ‹œμž‘ μ‹œκ°„μ΄ 더 λΉ λ₯Έ κΈ°μ€€μœΌλ‘œ μ •λ ¬
schedule.sort(key = lambda x : (x[1], x[0]))

# ⬇️ κ°€μž₯ 빨리 νšŒμ˜κ°€ λλ‚˜λŠ” μ‹œκ°„ : schedule[0][1]
end_time = schedule[0][1]
for i in range(1, N):
    # μ‹œμž‘ μ‹œκ°„μ΄ λλ‚˜λŠ μ‹œκ°„λ³΄λ‹€ λŠ¦κ±°λ‚˜ 같을 λ•Œ
    if schedule[i][0] >= end_time:
        result += 1
        end_time = schedule[i][1]

print(result)

 


μ—¬λ‹΄μœΌλ‘œ,, 3μ›” 26일에 μ†Œν”„ν‹°μ–΄ 평가 있기 전에 레벨3 문제λ₯Ό λ‹€ ν’€μ–΄λ³΄λŠ” 게 λͺ©ν‘œμΈλ° 잘 ν•΄λ‚Ό 수 μžˆμ„ 지 λͺ¨λ₯΄κ² λ‹€ μ΅œλŒ€ν•œ 많이 풀어봐야지 ν™”μ΄νŒ…!!