πŸ—οΈ Algorithm/🟩 λ°±μ€€

🟩 [λ°±μ€€] [Python] [Gold5] 2565번_전깃쀄

Dbswnstjd 2023. 4. 29. 18:48

문제

https://www.acmicpc.net/problem/2565

 

2565번: 전깃쀄

첫째 μ€„μ—λŠ” 두 μ „λ΄‡λŒ€ μ‚¬μ΄μ˜ μ „κΉƒμ€„μ˜ κ°œμˆ˜κ°€ 주어진닀. μ „κΉƒμ€„μ˜ κ°œμˆ˜λŠ” 100 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€. λ‘˜μ§Έ 쀄뢀터 ν•œ 쀄에 ν•˜λ‚˜μ”© 전깃쀄이 Aμ „λ΄‡λŒ€μ™€ μ—°κ²°λ˜λŠ” μœ„μΉ˜μ˜ λ²ˆν˜Έμ™€ Bμ „λ΄‡λŒ€μ™€ μ—°κ²°λ˜λŠ”

www.acmicpc.net

풀이

# λ°±μ€€ 2565번 문제 - 전깃쀄
n = int(input())
line = sorted([list(map(int, input().split())) for _ in range(n)])
dp = [1] * n
for i in range(n):
    for j in range(i):
        if line[i][1] > line[j][1]:
            dp[i] = max(dp[i], dp[j] + 1)
print(n - max(dp))

DP λ¬Έμ œμ΄λ‹€. 

전깃쀄을 A κΈ°μ€€μœΌλ‘œ μ •λ ¬ ν›„ B에 λŒ€ν•˜μ—¬ κ°€μž₯ κΈ΄ μ¦κ°€ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄μ„ κ΅¬ν•˜λ©΄ λœλ‹€. 

μ—¬κΈ°μ„œ κ°€μž₯ κΈ΄ μ¦κ°€ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄μ„ ꡬ해야 ν•˜λŠ” μ΄μœ λŠ” μ¦κ°€ν•˜λŠ” μˆ˜μ—΄μ΄λΌλ©΄ 전깃쀄이 κ΅μ°¨λ˜λŠ” 일이 λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€.

λ”°λΌμ„œ λΆ€λΆ„ μˆ˜μ—΄μ˜ μ΅œλŒ“κ°’μ€ 즉, μ œκ±°ν•˜μ§€ μ•Šμ•„λ„ λ˜λŠ” 전깃쀄이 λ˜λŠ” 것이닀. 

κ·ΈλŸ¬λ―€λ‘œ n개의 μ „κΉƒμ€„μ—μ„œ μ œκ±°ν•˜μ§€ μ•Šμ•„λ„ λ˜λŠ” 전깃쀄을 λΉΌλ©΄ μ œκ±°ν•΄μ•Ό ν•˜λŠ” 전깃쀄이 λ‚˜μ˜¨λ‹€.

 

 

μ΄λŸ¬ν•œ 풀이λ₯Ό λ– μ˜¬λ¦¬λŠ”λ° λ„ˆλ¬΄ λ³΅μž‘ν•˜κ²Œ μƒκ°ν•΄μ„œ 어렀움이 μžˆλŠ” 것 κ°™λ‹€.