124 λλΌκ° μλ€. 124 λλΌμμλ 10μ§λ²μ΄ μλ λ€μκ³Ό κ°μ μμ λ€λ§μ κ·μΉμΌλ‘ μλ₯Ό νννλ€. 124 λλΌμλ μμ°μλ§ μ‘΄μ¬νλ€. 124 λλΌμλ λͺ¨λ μλ₯Ό ννν λ 1, 2, 4λ§ μ¬μ©νλ€. μμ°μ nμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, nμ 124 λλΌμμ μ¬μ©νλ μ«μλ‘ λ°κΎΌ κ°μ return νλλ‘ ν¨μλ₯Ό μμ±νλΌ.
n
μ 500,000,000μ΄νμ μμ°μμ΄λ€.10μ§λ² | 124 λλΌ | 10μ§λ² | 124 λλΌ |
---|---|---|---|
1 | 1 | 6 | 14 |
2 | 2 | 7 | 21 |
3 | 4 | 8 | 22 |
4 | 11 | 9 | 24 |
5 | 12 | 10 | 41 |
import math
def check_zero(n):
if not n:
return '4'
return str(n)
def country_124(n):
answer = []
if n <= 2:
return str(n)
else:
while n > 2:
answer.append(check_zero(n % 3))
n = math.floor(n / 3) - 1 if not n % 3 else math.floor(n / 3)
answer.append(str(n))
return str(int(''.join(answer[::-1])))
λ¬Έμ λ§ λ΄€μ λλ κ½€ μ¬μ보μλλ°, λ§μ νμ΄λ³΄λ μκ°μ΄ μ€λ κ±Έλ Έλ€. 124 μ«μλ‘λ§ μ΄λ£¨μ΄μ§ λλΌλΌλ©΄ 3μ§λ²μ μ¬μ©νλ©΄ λλλ°, λ¬Έμ λ 3μ΄λΌλ μ«μλ μ¬μ©λμ§ μκ³ λμ 4κ° μ°μΈλ€λ μ μ΄λ€.
μ°μ νμλ μ
λ ₯μΌλ‘ 1μ΄λ 2κ° λ€μ΄μ€λ©΄ λ°λ‘ 리ν΄μν€λλ‘ νκ³ 3λΆν° while
λ¬Έμ ꡬλ ν
μ΄μ λΉ μ§λλ‘ νλ€.
μ
λ ₯κ°μ΄ 3μ λ°°μμΈ κ²½μ°μλ λλ¨Έμ§κ° 0μ΄λ―λ‘ λ¬΄μ‘°κ±΄ 4
λ₯Ό μΆκ°νλ€.
μλ κ²½μ°μλ λλ¨Έμ§ κ° κ·Έλλ‘ λ¦¬μ€νΈμ μΆκ°νλ€. κ·Έλ¦¬κ³ μ
λ ₯κ°μ 3μΌλ‘ λλ λͺ«μΌλ‘ λ€μ μ μ₯ν΄μ€λ€.
μ΄λ κ²λλ©΄ λͺ«μ΄ 1 λλ 2μΌ λκΉμ§ λ°λ³΅νκ² λλλ°, λ°λ³΅λ¬Έμ λΉ μ Έλμ€λ©΄ λ§μ§λ§ λͺ«μ 리μ€νΈμ μΆκ°νλ€.
μ΄ λ¦¬μ€νΈλ κΈ°λκ°κ³Όλ λ°λλ‘ μ μ₯λμ΄ μμΌλ―λ‘ κ±°κΎΈλ‘ μΆλ ₯ν΄μ£Όμ΄μΌ νλ€.
def country_124(n):
num = ['1','2','4']
answer = ""
while n > 0:
n -= 1
answer = num[n % 3] + answer
n //= 3
return answer
μ΄ λΆμ 124λ₯Ό 미리 num
μ΄λΌλ 리μ€νΈμ μ μ₯μμΌλκ³ μ
λ ₯κ°μ΄ 0λ³΄λ€ ν¬λ©΄ 1μ λΊ ν 3μΌλ‘ λλ λλ¨Έμ§μ λν μΈλ±μ€μ ν΄λΉνλ μ«μλ₯Ό κ²°κ³Όκ°μ μΆκ°ν΄μ£Όμλ€.
νμλ λͺ«μ ꡬνκΈ° μν΄ math.floor
λ₯Ό μ¬μ©νλλ° μ΄ μ½λλ₯Ό 보λ κ·Έλ΄ νμ μμ΄ //
λ₯Ό ν΄μ£Όλ©΄ λλ μΌμ΄μλ€..
μ€λλ λ§μ΄ λ°°μ°κ³ κ°λ€. νν«