What I Learned/Algorithm Practice

[programmers - python] Lv.1: 3진법 뒤집기

Interrobang 2023. 1. 10. 17:58

문제 링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 풀이

def solution(n):
    ternary = ''
    while n:
        ternary = str(n % 3) + ternary
        n = n // 3

    answer = sum([num*3**i for i, num in enumerate(map(int, ternary))])
    return answer

부족한 금액 계산하기 입출력 테스트

*key point: while과 문자열을 이용하여 주어진 수를 3진법으로 변환한 뒤 각 자리수 값을 이용하여 list comprehension으로 10진법으로 변환해준다.