-
[λ°±μ€] 2012 λ±μ 맀기기 with PythonPS 2022. 3. 31. 04:13728x90λ°μν
π BOJ 2012 λ±μ 맀기기
π‘ 쑰건
2007λ KOIμ Nλͺ μ νμλ€μ΄ μ°Έκ°νμλ€. λͺ¨λ νμλ€μ μμ μ΄ Nλͺ μ€μμ λͺ λ±μ ν κ²μΈμ§ μμ λ±μλ₯Ό μ μ΄μ μ μΆνλλ‘ νμλ€.
1λ±λΆν° Nλ±κΉμ§ λμμ°¨ μμ΄ λ±μλ₯Ό 맀겨μΌνλ€. μ μΆν μμ λ±μλ₯Ό λ°νμΌλ‘ μμλ‘ λ±μλ₯Ό λ§€κΈ°κΈ°λ‘ νλ€.
μμ μ λ±μλ₯Ό Aλ±μΌλ‘ μμνμλλ° μ€μ λ±μκ° Bλ±μ΄ λ κ²½μ°, μ΄ μ¬λμ λΆλ§λλ Aμ Bμ μ°¨μ΄ (|A - B|)λ‘ μμΉνν μ μλ€.
λΉμ μ Nλͺ μ μ¬λλ€μ λΆλ§λμ μ΄ ν©μ μ΅μλ‘ νλ©΄μ, νμλ€μ λ±μλ₯Ό λ§€κΈ°λ €κ³ νλ€.
μμ°μ Nμ΄ μ£Όμ΄μ§λ€. (1 β€ N β€ 500,000) λμ§Έ μ€λΆν° Nκ°μ μ€μ κ±Έμ³ κ° μ¬λμ μμ λ±μκ° μμλλ‘ μ£Όμ΄μ§λ€.
μμ λ±μλ 500,000 μ΄νμ μμ°μμ΄λ€.그리λμκ³ λ¦¬μ¦, μ λ ¬ μ νμ λ¬Έμ
π₯ μμ€ μ½λ
from sys import stdin n = int(stdin.readline()) s = [] for i in range(n): s.append(int(stdin.readline())) s.sort() ans = 0 for i in range(1, n + 1): ans += abs(i - s[i - 1]) print(ans)
π μμ λ° μ€νκ²°κ³Ό
μμ
5 1 5 3 1 2
μ€νκ²°κ³Ό
3
β¨οΈ λ¬Έμ νμ΄
μμ λ±μλ₯Ό μ λ ₯λ°μ μ°¨λ‘λλ‘ list s μ μ μ₯νλ€.
list s λ₯Ό μ λ ¬ ν λ€, ans λ³μλ₯Ό 0μΌλ‘ μ΄κΈ°ν νκ³ , 1λΆν° n + 1κΉμ§ μννλ©΄μ μμλ±μμ ν΄λΉνλ
λΆλ§λλ₯Ό κ³μ°νμ¬ ansμ μ μ₯ν΄μ€λ€.ansλ₯Ό μΆλ ₯νλ€.
λΆλ§λλ₯Ό μ λ ¬νμ¬ μ€μ λ±μμ λΉκ΅νμ¬ κ³μ°μ νλ©΄ μ΅μκ°μ ꡬν μ μλ€.
πΎ λλμ
- μ λ ¬νμ¬ λ¬Έμ λ₯Ό νΈλ κ°λ¨ν λ¬Έμ μμ΅λλ€.
- 골λ 5 λμ΄λ μ λμ 그리λμ μ·¨μ½ν λͺ¨μ΅μ 보μ΄λ κ² κ°μ μ°μ΅μ΄ λ§μ΄ νμν κ² κ°μ΅λλ€.
λ°μν'PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 11508 2+1 μΈμΌ with Python (0) 2022.05.09 [λ°±μ€] 2302 κ·Ήμ₯ μ’μ with Python (0) 2022.03.31 [λ°±μ€] 1343 ν΄λ¦¬μ€λ―Έλ Έ with Python (0) 2022.03.29 [λ°±μ€] 1145 μ μ΄λ λλΆλΆμ λ°°μ with Python (0) 2022.03.29 [λ°±μ€] 1038 κ°μνλ μ with Python (0) 2022.03.23