[프로그래머스]3진법뒤집기-Python3

2021. 7. 29. 18:07·코딩테스트/프로그래머스
728x90
반응형

{{문제}}

자연수 n이 매개변수로 주어집니다.

n을 3진법 상에서 앞뒤로 뒤집은 후,

이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

 

※제한사항※

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

 

{{입출력 예시}}

n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현
45 1200 0021 7

따라서 7을 return 해야 합니다.


{{풀이}}

def solution(n):
    answer = 0
    notation = 3 #3진법
    notDone = True
    remainders = [] #나머지 리스트
    quotient = n #몫
    seq = 0 #for문에 쓰일 지수
    while notDone:
        if notation > quotient:  
            notDone = False
            remainders.append(quotient)
            break
        remainder = quotient % 3 #나머지
        quotient = quotient // 3 #몫
        remainders.append(remainder) 
    #print(list(remainders))
    for i in remainders[::-1]:
        #print(i)
        #seq = len(remainders) - 1
        answer += i * (3**seq)
        seq += 1
    return answer

 

728x90
반응형

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[프로그래머스]최대공약수와최대공배수-Python3  (1) 2021.07.29
[프로그래머스]짝수와홀수-Python3  (0) 2021.07.29
[프로그래머스]완주하지못한선수-Python3  (2) 2021.07.29
[프로그래머스]약수의개수와덧셈-Python3  (0) 2021.07.29
[프로그래머스]소수만들기-C++  (1) 2021.07.29
'코딩테스트/프로그래머스' 카테고리의 다른 글
  • [프로그래머스]짝수와홀수-Python3
  • [프로그래머스]완주하지못한선수-Python3
  • [프로그래머스]약수의개수와덧셈-Python3
  • [프로그래머스]소수만들기-C++
heeya16
heeya16
개발 공부 냠냠
  • heeya16
    개발자 희야
    heeya16
  • 전체
    오늘
    어제
    • 분류 전체보기 (106)
      • 코딩테스트 (66)
        • 프로그래머스 (38)
        • SWEA (2)
        • BAEKJOON (26)
      • 알고리즘 (7)
      • 자료구조 (19)
      • 프로젝트 (5)
      • 취업 주르륵 (3)
      • 데이터베이스 (0)
      • IT지식 (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    1003
    10448
    10773
    10월
    10진수
    11047
    11399
    11403
    11866
    1449
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
heeya16
[프로그래머스]3진법뒤집기-Python3
상단으로

티스토리툴바