https://www.acmicpc.net/problem/2231
[1] λ¬Έμ νμ΄
n = int(input()) # λΆν΄ν©μ μ
λ ₯κ°μΌλ‘ λ°μ
for i in range(1, n+1): # ν΄λΉ λΆν΄ν©μ μμ±μ μ°ΎκΈ°
num = sum((map(int, str(i)))) # iμ κ° μλ¦Ώμλ₯Ό λν¨
num_sum = i + num # λΆν΄ν© = μμ±μ + κ° μλ¦Ώμμ ν©
# iκ° μμ μλΆν° μ°¨λ‘λ‘ λ€μ΄κ°λ―λ‘ μ²μμΌλ‘ λΆν΄ν©κ³Ό μ
λ ₯κ°μ΄ κ°μλκ° κ°μ₯ μμ μμ±μλ₯Ό κ°μ§
if num_sum == n:
print(i)
break
if i == n: # μμ±μ iμ μ
λ ₯κ°μ΄ κ°λ€λ κ²μ μμ±μκ° μλ€λ λ»
print(0)
- n = int(input()): μ¬μ©μλ‘λΆν° λΆν΄ν©μ μ λ ₯κ°μΌλ‘ λ°λλ€.
- for i in range(1, n+1):: 1λΆν° μ λ ₯κ°κΉμ§μ λͺ¨λ μμ λν΄ λ°λ³΅νλ€. μ΄ λ²μ μμμ κ° μ«μμ λν΄ μμ±μλ₯Ό μ°Ύλλ€.
- num = sum((map(int, str(i)))): νμ¬ μ«μ iμ κ° μλ¦Ώμλ₯Ό λνμ¬ λΆν΄ν©μ ꡬνλ€. str(i)λ₯Ό μ¬μ©νμ¬ μ«μλ₯Ό λ¬Έμμ΄λ‘ λ³ννκ³ , map(int, str(i))λ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ κ° λ¬Έμλ₯Ό μ«μλ‘ λ³νν λ€, sum() ν¨μλ₯Ό μ¬μ©νμ¬ μλ¦Ώμμ ν©μ ꡬνλ€.
βοΈ λ λ² λ³ννλ μ΄μ ?
λ λ² λ³ννλ μ΄μ λ μ£Όμ΄μ§ μ«μλ₯Ό κ° μλ¦Ώμλ‘ λΆλ¦¬νμ¬ κ° μλ¦Ώμμ ν©μ ꡬνκΈ° μν¨μ΄λ€.
μ²μμ μ«μλ₯Ό λ¬Έμμ΄λ‘ λ³ννλ μ΄μ λ, λ¬Έμμ΄λ‘ λ³ννλ©΄ μ«μλ₯Ό κ° μλ¦Ώμλ‘ λΆλ¦¬νκΈ° μ¬μμ§κΈ° λλ¬Έμ΄λ€. μλ₯Ό λ€μ΄, μ«μ 123μ λ¬Έμμ΄ "123"μΌλ‘ λ³νλλ©°, μ΄λ₯Ό μννλ©΄ κ°κ°μ μλ¦ΏμμΈ '1', '2', '3'μ μ κ·Όν μ μλ€.
λ λ²μ§Έλ‘ λ¬Έμμ΄μ κ° λ¬Έμλ₯Ό λ€μ μ μλ‘ λ³ννλ μ΄μ λ, λ¬Έμμ΄λ‘ λ³νλ κ° μλ¦Ώμλ₯Ό μ«μλ‘ μ²λ¦¬νκΈ° μν΄μμ΄λ€. λ¬Έμμ΄λ‘ μ²λ¦¬λ κ° μλ¦Ώμλ μ¬μ€μ λ¬Έμλ‘ μΈμλλ―λ‘, μ«μλ‘ μ¬μ©νκΈ° μν΄μλ μ μνμΌλ‘ λ³νν΄μΌ νλ€.
λ°λΌμ, μ²μμ μ«μλ₯Ό λ¬Έμμ΄λ‘ λ³ννκ³ , μ΄νμ λ¬Έμμ΄μ κ° λ¬Έμλ₯Ό λ€μ μ μλ‘ λ³ννμ¬ κ° μλ¦Ώμμ ν©μ κ³μ°νλ κ³Όμ μ΄ νμνλ€.
- num_sum = i + num: λΆν΄ν©μ μμ±μμΈ iμ κ° μλ¦Ώμμ ν©μΈ numμ λν κ°μ΄λ€.
- if num_sum == n:: λΆν΄ν©κ³Ό μ λ ₯κ°μ΄ κ°μ λ, μ¦ λΆν΄ν©μ μμ±μλ₯Ό μ°Ύμ κ²½μ°μ΄λ€.
- print(i): κ°μ₯ μμ μμ±μλ₯Ό μΆλ ₯νλ€,
- break: μμ±μλ₯Ό μ°ΎμμΌλ―λ‘ λ μ΄μ λ°λ³΅ν νμκ° μμΌλ―λ‘ λ°λ³΅λ¬Έμ μ’ λ£νλ€.
- if i == n:: μμ±μλ₯Ό μ°Ύμ§ λͺ»ν κ²½μ°, μ¦ λͺ¨λ μλ₯Ό νμΈνμ§λ§ λΆν΄ν©μ μμ±μκ° μλ κ²½μ°μ΄λ€.
- print(0): μμ±μκ° μλ€λ μλ―Έλ‘ 0μ μΆλ ₯νλ€.
βοΈ μμ: 216
μ¬μ©μλ‘λΆν° μ λ ₯κ°μΌλ‘ λΆν΄ν©μ λ°λλ€. μ΄ μμμμλ 216μ μ λ ₯κ°μΌλ‘ λ°λλ€.
for i in range(1, n+1):λ₯Ό ν΅ν΄ 1λΆν° μ λ ₯κ°κΉμ§μ λͺ¨λ μμ λν΄ λ°λ³΅νλ€. λ°λΌμ μ΄ μ½λμμλ 1λΆν° 216κΉμ§μ μμ λν΄ λ°λ³΅νκ² λλ€.
λ°λ³΅λ¬Έ λ΄λΆμμλ κ° μ«μ iμ λν΄ λ€μμ μνν©λλ€:
num = sum((map(int, str(i)))): νμ¬ μ«μ iμ κ° μλ¦Ώμλ₯Ό λνμ¬ λΆν΄ν©μ ꡬνλ€. μ¦, κ° μλ¦Ώμλ₯Ό λ¬Έμμ΄λ‘ λ³ννκ³ μ΄λ₯Ό μ μλ‘ λ§€νν λ€, μ΄λ₯Ό λͺ¨λ ν©νμ¬ μλ¦Ώμμ ν©μ ꡬνλ€. 216μ κ° μλ¦Ώμμ ν©μ 2 + 1 + 6 = 9κ° λλ€.
num_sum = i + num: λΆν΄ν©μ μμ±μμΈ iμ κ° μλ¦Ώμμ ν©μΈ numμ λν κ°μ΄λ€.
if num_sum == n:μ ν΅ν΄ λΆν΄ν©κ³Ό μ λ ₯κ°μ΄ κ°μμ§ νμΈνλ€. μ¦, νμ¬ μ«μ iκ° μμ±μμΌ λμ΄λ€.
num_sumμ΄ 216κ³Ό κ°μμ§ νμΈνλ€.
λ§μ½ κ°λ€λ©΄, μ΄ μ«μ iκ° μ λ ₯κ°μ λν κ°μ₯ μμ μμ±μμ΄λ€. λ°λΌμ μ΄ κ°μ μΆλ ₯νκ³ λ°λ³΅λ¬Έμ μ’ λ£νλ€.
if i == n:μ ν΅ν΄ μμ±μλ₯Ό μ°Ύμ§ λͺ»ν κ²½μ°, μ¦ λͺ¨λ μλ₯Ό νμΈνμ§λ§ λΆν΄ν©μ μμ±μκ° μλ κ²½μ°λ₯Ό μ²λ¦¬νλ€.
[2] λλ μ
μ½λ κΈΈμ΄λ 짧μ§λ§ μ΄ μκ³ λ¦¬μ¦μ λ μ¬λ¦¬λ 건 μ΄λ €μ΄ κ² κ°λ€...π₯²
μ¬λ¬ λ¬Έμ λ₯Ό μ ν΄λ³΄λ©΄μ μλ‘μ΄ μμ΄λμ΄λ₯Ό μκΎΈ λ μ¬λ¦¬κ² λμ΄μ μ‘°κΈ κ³ ν΅μ€λ¬μ μ§λ§ μ’μλ€!
'SWLUG > λ°±μ€ BEAKJOON' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CμΈμ΄/λ°±μ€] 1932λ²: μ μ μΌκ°ν (0) | 2024.09.25 |
---|---|
[C/λ°±μ€] 9184λ²: μ λλ ν¨μ μ€ν (0) | 2024.09.25 |
[BAEKJOON/λ°±μ€] 2798λ²: λΈλμ (0) | 2024.05.08 |
[BAEKJOON/λ°±μ€] 2775λ²: λΆλ νμ₯μ΄ λ ν μΌ (0) | 2024.05.01 |
[BAEKJOON/λ°±μ€] 9095λ²: 1, 2, 3 λνκΈ° (0) | 2024.05.01 |