λ¬Έμ μ€λͺ
μμ°μ nμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. nμ 3μ§λ² μμμ μλ€λ‘ λ€μ§μ ν, μ΄λ₯Ό λ€μ 10μ§λ²μΌλ‘ ννν μλ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
λμ μ½λ
def solution(n):
p = 0
tmp = ''
# μλ μ€μ 3μ§λ²μ μ΅μ’
μ μΌλ‘ λ€μ§μ΄μΌ νμ§λ§, μ¬κΈ°μλ λ€μ§μ μλ‘ 10μ§λ²μ ꡬνκΈ° λλ¬Έμ λ€μ§μ§ μμ.
while n:
tmp += str(n % 3)
n = n // 3
# 3μ§λ² 10μ§λ²μΌλ‘ λ³ν int(tmp,3) μΌλ‘λ κ°λ₯.
for i in range(len(tmp),0,-1):
if tmp[i-1] != '0':
p += int(tmp[i-1]) * (3 ** (len(tmp) - i))
return p
λΆμ > 10μ§μλ₯Ό 3μ§μλ‘ λ³ννλ λ°©λ²μ μκ² λμλ€. nμ 3μΌλ‘ λλ λλ¨Έμ§λ λ¬Έμμ΄μ μΆκ°νκ³ , λͺ«μ΄ nμ΄ λλ©΄μ nκ°μ΄ μ‘΄μ¬ν λκΉμ§ λ°λ³΅λ¬Έμ λλ¦¬κ³ λμ¨ λ¬Έμμ΄μ λ€μ§μΌλ©΄ κ·Έ μκ° nμ 3μ§μκ° λλ κ²μ΄λ€. μ¬κΈ°μλ μ μ΄μ λ€μ§μ 3μ§μκ° νμνκΈ° λλ¬Έμ λ¬Έμμ΄μ λ€μ§μ§ μκ³ κ·Έλλ‘ μ¬μ©νμλ€. λλ 10μ§μλ₯Ό 3μ§μλ‘ λ§λ€κΈ° μν΄ μ§μ ꡬνμ νλλ°, νμ΄μ¬μλ int(λ³νν μ, μ§λ²) μ κΈ°λ₯μ μ¬μ©νλ©΄ μ΄λ€ μ§λ²μ μλ 10μ§μλ‘ λ³νν μ μμλ€.
'Algorithm > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Programmers] μ½μμ κ°μμ λ§μ (0) | 2022.05.02 |
---|---|
[Programmers] ν°μΌλͺ¬ (0) | 2022.05.02 |
[Programmers] μμ μ°ΎκΈ° (0) | 2022.05.01 |
[Programmers] λ€μ ν° μ«μ (0) | 2022.05.01 |
[Programmers] μ κ· μμ΄λ μΆμ² (0) | 2022.05.01 |