βοΈ λ¬Έμ
[λ°±μ€/BOJ] 2847λ²: κ²μμ λ§λ λμ€μ΄(https://www.acmicpc.net/problem/2847)
νκ΅μμ κ·Έλν½μ€ μμ μ λ€μ λμ€μ΄λ μμ μκ°μ λ€μ λ΄μ©μ λ°νμΌλ‘ μ€λ§νΈν° κ²μμ λ§λ€μλ€. κ²μμλ μ΄ Nκ°μ λ λ²¨μ΄ μκ³ , κ° λ 벨μ ν΄λ¦¬μ΄ν λ λ§λ€ μ μκ° μ£Όμ΄μ§λ€. νλ μ΄μ΄μ μ μλ λ 벨μ ν΄λ¦¬μ΄νλ©΄μ μ»μ μ μμ ν©μΌλ‘, μ΄ μ μλ₯Ό λ°νμΌλ‘ μ¨λΌμΈ μμλ₯Ό 맀긴λ€. λμ€μ΄λ λ 벨μ λμ΄λ μμΌλ‘ λ°°μΉνλ€. νμ§λ§, μ€μλ‘ μ¬μ΄ λ λ²¨μ΄ μ΄λ €μ΄ λ λ²¨λ³΄λ€ μ μλ₯Ό λ§μ΄ λ°λ κ²½μ°λ₯Ό λ§λ€μλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λμ€μ΄λ νΉμ λ 벨μ μ μλ₯Ό κ°μμν€λ €κ³ νλ€. μ΄λ κ²ν΄μ κ° λ 벨μ ν΄λ¦¬μ΄ν λ μ£Όλ μ μκ° μ¦κ°νκ² λ§λ€λ €κ³ νλ€.
κ° λ 벨μ ν΄λ¦¬μ΄ν λ μ»λ μ μκ° μ£Όμ΄μ‘μ λ, λͺ λ² κ°μμν€λ©΄ λλμ§ κ΅¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€. μ μλ νμ μμμ΄μ΄μΌ νκ³ , 1λ§νΌ κ°μμν€λ κ²μ΄ 1λ²μ΄λ€. νμ λ΅μ΄ μ‘΄μ¬νλ κ²½μ°λ§ μ£Όμ΄μ§λ€. μ λ΅μ΄ μ¬λ¬ κ°μ§μΈ κ²½μ°μλ μ μλ₯Ό λ΄λ¦¬λ κ²μ μ΅μνμΌλ‘ νλ λ°©λ²μ μ°ΎμμΌ νλ€.
π€ μ μΆλ ₯ μμ
π§ λμ΄λ/μμ μκ°
β λμ΄λ: solved.ac κΈ°μ€ S4
β μμ μκ°: μμ μ νμλ λ¬Έμ λΌ μΈ‘μ X
β κΆμ₯ μκ°: 1μκ° 15λΆ
π‘ νμ΄
1) λ¬Έμ μ ν νμ
μμ μ ν λλ μκ³ λ¦¬μ¦μ ν¬κ² μ κ²½ μ°μ§ μμμλλ° μ€λ μκ³ λ¦¬μ¦ λΆλ₯λ₯Ό 보λκΉ κ·Έλ¦¬λ μκ³ λ¦¬μ¦μ΄μλ€.
λ΄κ° μκ³ μλ 그리λμ νΉμ§μ '맀 μκ° κ·Έ μν©μμ μ΅μ μΈ μ νμ νμ§λ§ μ 체 κ²°κ³Όμμλ κ·Έ κ²°κ³Όκ° μ΅μ μμ 보μ₯ν μλ μμ'μΈλ° μ΄ κ΄μ μμ μκ°νμ λ μ΄ λ¬Έμ κ° μ 그리λ μκ³ λ¦¬μ¦μ μνμ§? μΆμλ€. μ±μ§νΌν°κ° νμ μ λ΅λ§ μκΈ°νλ 건 μλμ§λ§ μ΄ν΄μ λμμ΄ λκ³ μ μ΄μ§μΏ΅ μ§λ¬Έν ν λ΄κ° μ΄ν΄νλλ‘ μ 리ν΄λ΄€λ€.
λ¬Έμ μ μꡬμ¬ν
- νμν κ²½μ° λ 벨λ§λ€ μ μλ₯Ό λ΄λ¦¬κ³ , μ΄ λ μ΅μ νμλ‘ λͺ¨λ λ 벨μ μ μκ° μ€λ¦μ°¨μμ μ μ§νλλ‘ ν΄μΌ ν¨
μ 그리λμΈμ§?
- νμ¬ νμΈ μ€μΈ λ 벨μμ ν μ μλ μ΅μ μ μ νμ νμ¬ λ 벨μ μ μκ° λ€μ λ 벨μ μ μλ³΄λ€ 1μ μκ² νλ κ²
- κ°μ₯ μ΄λ €μ΄ λ 벨μμ μ¬μ΄ λ 벨 λ°©ν₯μΌλ‘ μ μλ₯Ό νμΈνλ©΄μ νμν λ μ μλ₯Ό κΉλ κ²μ΄ κ°μ₯ μ΅μ μ μ νμ΄λΌκ³ ν μ μμ - λμ μ μλΆν° νμΈνλ©° μ μλ₯Ό μ‘°μ ν κ²½μ° μ΄μ λ 벨μ λν΄ λ€μ νμΈν νμκ° μμΌλ―λ‘ νμ¬ μ νμ΄ μ΄ν μ νμ μν₯μ μ£Όμ§ μμ(λ 립μ )
2) μμ΄λμ΄ νλ¦
β μ€λ¦μ°¨μ μ λ΅μ§λ₯Ό λ§λ€μ΄λκ³ μ£Όμ΄μ§ 리μ€νΈμ μ°¨μ΄ κ³μ°
μ μΌ λ¨Όμ λ μ¬λ¦° λ°©λ²μ μ£Όμ΄μ§ μ«μ 리μ€νΈμ 맨 λ€ μμκ° κ°μ₯ ν¬λ€κ³ μ ν΄λκ³ ν΄λΉ κ°μΌλ‘ λλλ μ€λ¦μ°¨μ 리μ€νΈλ₯Ό μ λ΅ λ¦¬μ€νΈλ‘ μ¬μ©νλ κ²μ΄λ€. μ΄κ² λ¬΄μ¨ λ§μΈκ° νλ©΄..!
μ λ ₯ 리μ€νΈ [5, 3, 7, 5] (μ μΆλ ₯ μμ 2)
μ λ΅ λ¦¬μ€νΈ [2, 3, 4, 5] (λ΄κ° μκ°ν λ°©μμμ μ λ΅μ§λ‘ μ°κ³ μ νλ 리μ€νΈ)
κ½€λ κ·Έλ΄ λ―ν λ°©λ²μ²λΌ 보μ΄κΈ°λ νκ³ λ κ°μ μμμμ λμμΌ νλ κ°μ μ μΆλ ₯νκΈ°λ ν΄μ μ μΆνλλ κ²°κ³Όλ μ€λ΅μ΄μλ€.
λ°λ‘λ₯Ό κ³ λ―Όνλ€κ° μ΄ λ°©μμΌλ‘ μ²λ¦¬νμ§ λͺ»νλ κ²½μ°λ₯Ό νλ λ°κ²¬νλ€.
μ λ ₯ 리μ€νΈ [3, 3, 7, 6]
μ λ΅ μΆλ ₯ 5 → [2, 3, 4, 5]κ° λ§λ€μ΄μ§λλ‘ ν΄μΌ ν¨
μ€μ μΆλ ₯ 3 → [3, 4, 5, 6]μ μ λ΅ λ¦¬μ€νΈλ‘ μ¬μ©
μμ 2λ² μΈλ±μ€μ²λΌ μ λ΅ λ¦¬μ€νΈμμ κ° μΈλ±μ€μ μμ΄μΌ νλ κ°λ³΄λ€ μμ κ°μ΄ ν λΉλ κ²½μ°, κ°μ μ¬λ¦΄ μλ μκΈ° λλ¬Έμ μ λλ‘ λ λ΅μ ꡬν μ μλ€.
# 첫 λ²μ§Έ μ€λ΅ μ½λ
import sys
input = sys.stdin.readline
N = int(input())
score = []
for _ in range(N):
score.append(int(input()))
ascending = [score[-1]-i for i in range(N)]
answer = 0
for real, want in zip(score, sorted(ascending)):
answer += abs(real-want)
print(answer)
β‘ λ΄λ¦Όμ°¨μμΌλ‘ μ κ·ΌνκΈ°
μ€λ¦μ°¨μ λ°©μμΌλ‘ νμ΄λ³΄λ €κ³ κ³μ κ³ λ―Όνλλ° μ΄μ κ°μ μ κ²½ μ¨μΌ νλ μν©μ΄ μκΎΈ μκΈ°κΈΈλ λ무 볡μ‘ν΄μ μΌλ¨ λ€μ§μ΄μ μκ°ν΄λ³΄κΈ°λ‘ νλ€. μ μΆλ ₯ μμ 2μμ [5, 7, 3, 5] 리μ€νΈλ‘ μ κ·Όνλ λ°©μμ΄λ€.
ν΅μ¬ λ‘μ§μ 1) i+1λ²μ§Έ μμκ° iλ²μ§Έ μμλ³΄λ€ ν¬κ±°λ κ°μΌλ©΄ 2) i+1λ²μ§Έ μμμ κ°μ (iλ²μ§Έ μμμ κ°)-1λ‘ κ°±μ νκ³ , 3) νμλ₯Ό κΈ°λ‘νκΈ° μν λ³μμ (iλ²μ§Έ μμμ κ°)-1λ§νΌμ λν΄μ£Όλ κ²μ΄λ€.
κ·Έλ°λ° μ μΆλ ₯ μμ 2λ μ μΆλ ₯λμ§λ§ μ μΆλ ₯ μμ 1μ΄ μ΄μνκ² μΆλ ₯λΌμ λ€μ νμΈν΄λ³΄λ answer κ°μ score[i]-1 κ°μ λ°λ‘ λνλ κ² λ¬Έμ μλ€. [5, 7, 3, 5] 리μ€νΈλ‘ νμΈν΄λ³΄λ©΄ 7μ΄ 5λ³΄λ€ ν¬κΈ° λλ¬Έμ κ°μκ° μ΄λ€μ§κ³ 7μμ 4λ‘ κ°μν λ§νΌ 3μ΄ λν΄μ ΈμΌ νλλ° 4λ₯Ό λν΄μ£Όκ³ μλ κ²μ΄λ€.
μ μΆλ ₯ μμ 2κ° ν΅κ³Όν κ² μ΄μ©λ©΄ μ»μ΄ κ±Έλ¦° ν΅κ³ΌμΌμλ μκ² λ€ μΆμ΄ μ λΆλΆμ μμ νκΈ°λ‘ νλ€.
# λ λ²μ§Έ μ€λ΅ μ½λ
import sys
input = sys.stdin.readline
N = int(input())
score = []
for _ in range(N):
score.append(int(input()))
answer = 0
score = score[::-1]
for i in range(0, len(score)-1):
if score[i+1] >= score[i]:
new_value = score[i]-1
answer += new_value
score[i+1] = new_value
print(answer)
3) ꡬν
import sys
input = sys.stdin.readline
N = int(input())
score = []
for _ in range(N):
score.append(int(input()))
answer = 0
score = score[::-1]
for i in range(0, len(score)-1):
if score[i+1] >= score[i]:
new_value = score[i]-1
answer += score[i+1]-score[i]+1
score[i+1] = new_value
print(answer)
λ€λ₯Έ λΆλΆμ λ λ²μ§Έ μ€λ΅ μ½λμ λͺ¨λ λμΌνκ³ answer λ³μμ λν΄μ§λ κ°λ§ μμ ν΄μ£ΌλκΉ ν΅κ³Όν μ μμλ€.
4) μ΄λ €μ λ μ /λ°°μ΄ μ
π¨ μ΄λ €μ λ μ
- λ€μμλΆν° μ²λ¦¬νλ κ±Έ ν λ²μ λ μ¬λ¦¬λ κ²
- μ€λ¦μ°¨μμΌλ‘ μ²λ¦¬νλ €κ³ νλκΉ νμ¬ κ°λ³΄λ€ λ μμ κ°μ΄ μ΄μ μ λμλμ§λ₯Ό μ κ²½ μ¨μΌ νκ³ μ½λκ° λ무 볡μ‘ν΄μ§ κ² κ°μλ€. μμμΌλ‘ νμΈνλ μ΄μ λ₯Ό μκ³ μ΄ κ² μλλΌ μ λ·κ±Έμμ§ νλ€ μ₯ μ‘μ 격μ νμ΄ λλ?
β λ°°μ΄ μ
- νμ¬μ μ νμ΄ μ΄ν μ ν κ³Όμ μ μν₯μ λ―ΈμΉμ§ μλ κ²λ 그리λ μκ³ λ¦¬μ¦μ μ μ©ν μ μλ 쑰건μ ν΄λΉνλ€. κ·Όλ° μ΄κ±΄ λ¬Έμ λ₯Ό λ³΄κ³ ν λ²μ νμ νκΈ°λ μ‘°κΈ μ½μ§ μμμλ μμ κ² κ°λ€λ μκ°μ΄ λ λ€.
'Problem Solving > [νν΄99] TIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
99ν΄λ½ μ½ν μ€ν°λ 18μΌμ°¨ TIL / 그리λ (1) | 2024.11.14 |
---|---|
99ν΄λ½ μ½ν μ€ν°λ 17μΌμ°¨ TIL / 그리λ (1) | 2024.11.13 |
99ν΄λ½ μ½ν μ€ν°λ 15μΌμ°¨ TIL / μλ£κ΅¬μ‘°(λ±)&λ¬Έμμ΄ (0) | 2024.11.11 |
99ν΄λ½ μ½ν μ€ν°λ 14μΌμ°¨ TIL / 그리λ (0) | 2024.11.10 |
99ν΄λ½ μ½ν μ€ν°λ 13μΌμ°¨ TIL / 그리λ (1) | 2024.11.09 |