[Programmers] 3진법 뒤집기

HAHAHELLO·2025년 3월 13일

파이썬

목록 보기
43/50

Lv.1 3진법 뒤집기

문제

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.

예제

나의 풀이

def solution(n):
    
    three = ''
    
    while n > 0:
        a = n % 3 
        three += str(a)
        n = n // 3
        
    return int(three, 3)

다른 풀이

divmod()를 사용해서도 문제를 풀 수 있다.

def solution(n):
    
    three = ''
    
    while n > 0:
        a, b = divmod(n, 3) 
        three += str(b)
        
    return int(three, 3)

끄적끄적

divmod()

divmod(a, b) 함수는 두 숫자를 나누어 몫과 나머지를 한 번에 반환하는 함수이다. 기본적으로 아래와 같이 표현한다.

# quotient: a // b
# remainder: a % b

quotient, remainder = divmod(a, b)
profile
데이터 엔지니어가 되어 봅시다 🌈

0개의 댓글