-
[λ°±μ€] 14469 μκ° κΈΈμ 건λκ° μ΄μ 3 with PythonPS 2023. 4. 1. 22:41728x90λ°μν
π BOJ 14469 μκ° κΈΈμ 건λκ° μ΄μ 3
π‘ 쑰건
- Nλ§λ¦¬μ μκ° μ΄ λμ₯μ λ°©λ¬Ένλ¬ μλ€. μκ° λμ°©ν μκ°κ³Ό κ²λ¬Έλ°λ λ° κ±Έλ¦¬λ μκ°μ μλ§λ€ λ€λ₯΄λ€. (λ¬Όλ‘ κ°μ μλ μλ€.)
- λ μκ° λμμ κ²λ¬Έμ λ°μ μλ μλ€. μλ₯Ό λ€μ΄, ν μκ° 5μ΄μ λμ°©νκ³ 7μ΄ λμ κ²λ¬Έμ λ°μΌλ©΄,
8μ΄μ λμ°©ν κ·Έ λ€μ μλ 12μ΄κΉμ§ μ€μ μμΌ κ²λ¬Έμ λ°μ μ μλ€.
- λͺ¨λ μκ° λμ₯μ μ μ₯νλ €λ©΄ μΌλ§λ 걸리λμ§ κ΅¬νλ λ¬Έμ .
첫 μ€μ 100 μ΄νμ μμ μ μ Nμ΄ μ£Όμ΄μ§λ€.
λ€μ Nμ€μλ ν μ€μ νλμ© μμ λμ°© μκ°κ³Ό κ²λ¬Έ μκ°μ΄ μ£Όμ΄μ§λ€. κ°κ° 1,000,000 μ΄νμ μμ μ μμ΄λ€.
- μ λ ¬, 그리λ μ νμ λ¬Έμ
π μμ λ° μ€νκ²°κ³Ό
μμ 1
3 2 1 8 3 5 7
μ€νκ²°κ³Ό 1
15
β¨οΈ λ¬Έμ νμ΄
- κΈ°λ³Έ μμ΄λμ΄λ μ λ ¬λΆν° μμμ νλ€. λͺ¨λ μκ° μ μ₯νλ €λ©΄ μΌλ§λ 걸리λμ§, μ΅μμκ°μ μΆλ ₯νλ λ¬Έμ μ΄λ€.
- μκ° λͺ¨λ μ μ₯νλλ°μ 걸리λ μ΅μ μκ°μ μ°ΎμΌλ €λ©΄, μ μ₯νλ λ²νΈλ₯Ό κΈ°μ€μΌλ‘ μ λ ¬μ ν΄μΌνλ€.
- μκ° λμ°©ν μκ°κ³Ό κ²λ¬Έ λ°λλ° κ±Έλ¦¬λ μκ°μ κ°μ μ μμΌλ―λ‘, lambda λ‘ μ λ ¬ μμΌ°λ€.
κΈ°μ€μ (μκ° λμ°©ν μκ°, κ²λ¬Έ λ°λ μκ°) μ κ°κ° μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ€.
μ λ ¬λ 리μ€νΈλ₯Ό μννλ©΄μ, λ§μ½ νμ¬ νλ₯Έ μκ°(ans)κ° μκ° λμ°©ν μκ°(s) λ³΄λ€ μκ±°λ κ°λ€λ©΄ ansμ sλ₯Ό λ£μ΄μ€λ€.
κ·Έ ν ansμ κ²λ¬Έμκ°μ λν΄μ€λ€.(4)λ²μ μμΈλλ 쑰건μ΄λΌλ©΄ κ·Έλ₯ ansμ cλ₯Ό λν΄μ£Όκ³ μΆλ ₯νλ€.
π₯ μμ€ μ½λ
from sys import stdin n = int(stdin.readline()) arr = [] for _ in range(n): a, b = map(int, stdin.readline().split()) arr.append((a, b)) arr.sort(key=lambda x: (x[0], x[1])) ans = 0 for i in range(n): s, c = arr[i][0], arr[i][1] if ans <= s: ans = s ans += c else: ans += c print(ans)
λ°μν'PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 5988 νμμΌκΉ μ§μμΌκΉ with Python (0) 2023.04.03 [λ°±μ€] 1676 ν©ν λ¦¬μΌ 0μ κ°μ with Python (0) 2023.04.01 [λ°±μ€] 1992 μΏΌλνΈλ¦¬ with Python (0) 2023.03.31 [λ°±μ€] 1890 μ ν with Python (0) 2022.08.09 [λ°±μ€] 1722 μμ΄μ μμ with Python (0) 2022.08.09