[프로그래머스 Lv1] 3진법 뒤집기(python)

이진규·2022년 1월 15일
1

프로그래머스(PYTHON)

목록 보기
18/64

문제

https://programmers.co.kr/learn/courses/30/lessons/68935

나의 코드

"""
1. 아이디어
3진법 구하는 간단한 문제

2. 시간복잡도
O(N)
"""

def solution(n):
    
    value = ''
    
    while n > 0:
        value += str(n % 3)
        n //= 3
    
    # 저장된 값이 역순이기 때문에 num[::-1]을 해줘야 하나 문제 정의상 역순값을 원하기 때문에 생략
    
    return int(value, 3) # 문자형을 3진수로 변경
    

다른 사람의 코드


def solution(n):
    num = ''

    while n > 0:
        # divmod(숫자, 나누는 수) : 몫과 나머지를 튜플형태로 반환해주는 함수
        n, mod = divmod(n, 3) 
        num += str(mod)

    # 저장된 값이 역순이기 때문에 num[::-1]을 해줘야 하나 문제 정의상 역순값을 원하기 때문에 생략 
        
    return int(num, 3) # num이라는 문자형을 3진수로 변경
    

느낀점

3진법 구하는 간단한 문제이다.

profile
항상 궁금해하고 공부하고 기록하자.

0개의 댓글

관련 채용 정보