2851λ²: μνΌ λ§λ¦¬μ€
첫째 μ€μ λ§λ¦¬μ€κ° λ°λ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ 100μ κ°κΉμ΄ μκ° 2κ°λΌλ©΄ (μ: 98, 102) λ§λ¦¬μ€λ ν° κ°μ μ ννλ€.
www.acmicpc.net
λ¬Έμ
μνΌ λ§λ¦¬μ€ μμ 10κ°μ λ²μ―μ΄ μΌλ ¬λ‘ λμ¬μ Έ μλ€. μ΄ λ²μ―μ λ¨ΉμΌλ©΄ μ μλ₯Ό λ°λλ€. μνΌ λ§λ¦¬μ€λ λ²μ―μ μ²μλΆν° λμ¨ μμλλ‘ μ§μΌλ €κ³ νλ€. νμ§λ§, λͺ¨λ λ²μ―μ μ§μ νμλ μκ³ μ€κ°μ μ€λ¨ν μ μλ€. μ€κ°μ λ²μ―μ λ¨Ήλ κ²μ μ€λ¨νλ€λ©΄, κ·Έ μ΄νμ λμ¨ λ²μ―μ λͺ¨λ λ¨Ήμ μ μλ€. λ°λΌμ 첫 λ²μ―μ λ¨Ήμ§ μμλ€λ©΄, κ·Έ μ΄ν λ²μ―λ λͺ¨λ λ¨Ήμ μ μλ€. λ§λ¦¬μ€λ λ°μ μ μμ ν©μ μ΅λν 100μ κ°κΉκ² λ§λ€λ €κ³ νλ€. λ²μ―μ μ μκ° μ£Όμ΄μ‘μ λ, λ§λ¦¬μ€κ° λ°λ μ μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
μ΄ 10κ°μ μ€μ κ°κ°μ λ²μ―μ μ μκ° μ£Όμ΄μ§λ€. μ΄ κ°μ 100λ³΄λ€ μκ±°λ κ°μ μμ μ μμ΄λ€. λ²μ―μ΄ λμ¨ μμλλ‘ μ μκ° μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ λ§λ¦¬μ€κ° λ°λ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ 100μ κ°κΉμ΄ μκ° 2κ°λΌλ©΄ (μ: 98, 102) λ§λ¦¬μ€λ ν° κ°μ μ ννλ€.
μμ μ λ ₯
1
2
3
5
8
13
21
34
55
89
μμ μΆλ ₯
87
μ€λͺ
μ μκ° λΆμ¬λ 10κ°μ λ²μ―μ΄ μλ€. μμλλ‘ μ§μ΄ λ¨Ήλλ° 100μ μ κ°κΉμ΄ μ μκ° λμ΄μΌ νλ€. λ¨, λ¨Ήλ€κ° λ©μΆ μ μμ§λ§ λ©μΆ μ΄νλ‘λ λ¨Ήμ§ λͺ»νλ€.
νμ΄
- λμ ν© μ΄μ©
λμ ν© κ΅¬νλ μ½λ
array = [10, 20, 30, 40, 50]
n = len(array)
prefix_sum = [0] * (n + 1)
for i in range(n):
prefix_sum[i + 1] = prefix_sum[i] + array[i]
κ²°κ³Ό : prefix_sum[0, 10, 30, 60, 100, 150]
λμ ν© μκ³ λ¦¬μ¦ μ€λͺ - https://dev-cloud.tistory.com/141
μ£Όμ μ¬ν
- 100μ κ°κΉμ΄ μκ° λ κ°λ©΄ ν° κ°μ μΆλ ₯ν΄μΌ νλ€.
- λ²μ―μ λμ ν©κ³κ° 100μ΄μμ΄ λλ€λ 보μ₯μ΄ μλ€.
Solution
n = []
for _ in range(10):
n.append(int(input()))
prefix_sum = [0]*11 #λμ ν©μ μ μ₯νκΈ° μν λ³μ
s, e = 0 #100λ³΄λ€ μμ μ, ν° μλ₯Ό λΉκ΅νκΈ° μν λ³μ
for i in range(10):
prefix_sum[i+1] = prefix_sum[i] + n[i] #λμ ν©
if prefix_sum[i+1] >= 100: #100λ³΄λ€ ν¬κ±°λ κ°μμ§λ©΄ 100μ΄ν/μ΄μκ°μ μ μ₯νκ³ λ°λ³΅λ¬Έ μ€λ¨
s = prefix_sum[i]
e = prefix_sum[i+1]
break
else: #λμ ν©μ΄ 100μ΄μμ΄ μ λ κ²½μ°λ₯Ό λλΉν΄ κ°μ λ§€λ² κ°±μ
s = prefix_sum[i]
e = prefix_sum[i+1]
#100μ΄ν, 100μ΄μμ κ°μ λΉκ΅ν΄μ μΆλ ₯νλ€.
if 100 - s == e - 100:
print(e)
elif 100 - s <= e - 100:
print(s)
else:
print(e)
Another Solution
ans,score = 0,0
for i in range(10):
score+=int(input()) #μ
λ ₯κ³Ό λμμ λμ ν©μ ꡬνλ€.
if 100-ans >= abs(100-score): #100κ³Ό κ°κΉμ΄ λ μλ₯Ό λΉκ΅νλ€.
ans = score
print(ans)'π§© Algorithm > [BOJ] Bronze' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| BOJ 1547λ² : 곡 (Python/Bronze 3) (0) | 2023.04.12 |
|---|---|
| BOJ 25314λ² : μ½λ©μ 체μ‘κ³Όλͺ© μ λλ€ (Python/Bronze 5) (0) | 2023.03.24 |
| BOJ 5585λ² : κ±°μ€λ¦λ (Python/Bronze 2) (0) | 2023.02.19 |
| BOJ 2693λ² : Nλ²μ§Έ ν° (Python/Bronze 1) (0) | 2023.02.09 |
| BOJ 2592λ² : λνκ° (Python/Bronze 2) (0) | 2023.02.09 |