[프로그래머스 코테 연습] 3진법 뒤집기

Gorae·2021년 6월 11일
0

알고리즘

목록 보기
9/19
post-thumbnail

문제 요약

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

나의 풀이

def solution(n):
    answer = ''
    result = 0
    while n>=3:
        answer += str(n%3)
        n //= 3
    if n<3:
        answer += str(n)
    for i in range(len(answer)):
        result += int(answer[i])*(3**(len(answer)-i-1))
    return result

int() 함수 사용 풀이

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

    answer = int(tmp, 3)
    return answer

int() 사용법

  • int(value, base)
  • 정수로 변환할 값과 밑을 위와 같은 형태로 입력하면 된다.
  • value=0, base=10 이 디폴트 값.
  • base에 2에서 36 사이의 값 입력 가능.
  • base의 범위를 벗어나는 value를 입력하면 ValueError 발생.
print(int())  # 0
print(int(15))  # 15
print(int('11', 3))  # 11(3) = 3 + 1 = 4
print(int('1a', 16))  # 1a(16) = 16 + 10 = 26
print(int('112', 2))  # ValueError
# 밑이 2라면 숫자 0과 1만 value에 포함될 수 있다.

느낀점

  • int() 를 사용하면 훨씬 쉽고 빠른 작성이 가능했다.
profile
좋은 개발자, 좋은 사람

0개의 댓글