DHistory

[Programmers] Level 1 - 3진법 뒤집기 본문

Computer Science/Algorithm

[Programmers] Level 1 - 3진법 뒤집기

ddu0422 2023. 8. 7. 10:57

문제

 

프로그래머스

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

programmers.co.kr

 

풀이 1

def solution(n):
    answer = ''

    while n:
        answer += str(n % 3)
        n //= 3

    return sum([int(value) * 3**(len(answer) - 1 - index) for index, value in enumerate(answer)])

 

채점 결과

 

 

풀이 2 (리팩토링)

int 함수 기능 이용

def solution_refactor(n):
    answer = ''

    while n:
        answer += str(n % 3)
        n //= 3

    return int(answer, 3)

 

채점 결과