happyso
study with happyso
happyso
전체 방문자
오늘
어제
  • 분류 전체보기 (302)
    • GIT (3)
    • 컴퓨터 기본 개념 (29)
    • 알고리즘 (125)
      • 알고리즘 문제 (115)
      • 알고리즘 개념 (10)
    • Go (2)
    • 클라우드 (54)
      • DevOps (4)
      • Kubernetes(쿠버네티스) (33)
      • AWS (6)
      • CKA (8)
    • 리눅스(Linux) (18)
      • 컨테이너(Container) (8)
    • Front (22)
      • JavaScript (2)
      • React (20)
    • Python (21)
      • Python 웹 크롤링 (11)
      • Django (7)
      • MachineLearning (3)
    • 데이터베이스 (6)
      • MariaDB (2)
      • MongoDB (4)
    • C언어 (5)
    • Trouble Shooting (2)
    • 네트워크 (8)
      • CCNA (5)
    • 보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 15
  • Patch
  • replace
  • edit
  • apply
  • 18
  • kubernetes

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
happyso

study with happyso

알고리즘/알고리즘 문제

[python] 프로그래머스 > 3진법 뒤집기

2021. 1. 12. 19:01

[문제]

1. 문제 설명

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

 

 

2. 제한사항

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

 

3. 입출력 예

n result
45 7
125 229

 

4. 입출력 예 설명

 

입출력 예 #1

  • 답을 도출하는 과정은 다음과 같습니다.

n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현

45 1200 0021 7
  • 따라서 7을 return 해야 합니다.

 

입출력 예 #2

  • 답을 도출하는 과정은 다음과 같습니다.

n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현

125 11122 22111 229
  • 따라서 229를 return 해야 합니다.

 

[나의 풀이]

def solution(n):
    answer = 0
    temp = []
    while n != 0:
        temp.append(n % 3)
        n = n // 3
    for index, t in enumerate(temp):
        answer += t * 3**(len(temp)-(index+1))
    return answer
  • 나머지를 temp 리스트에 담고, n은 3으로 나눈 몫으로 0이 될때까지 반복했다.
  • temp에 담긴 뒤집힌 3진법을 반복문을 사용해 10진법으로 계산해준다.

 

[다른 사람의 풀이]

def solution(n):
    answer = 0
    cnt = 1
    a = ''
    while n>0:
        a+=str(n%3)
        n = n//3
    print(a)
    for b in range(len(a),0,-1):
        answer += (int(a[b-1])*cnt)
        cnt *= 3
    return answer

 

'알고리즘 > 알고리즘 문제' 카테고리의 다른 글

[python] 백준 > dfs > 단지번호 붙히기  (0) 2021.01.14
[python] 프로그래머스 > 시저암호  (0) 2021.01.13
[python] 프로그래머스 > 모의고사  (0) 2021.01.11
[python] 백준 > 스택수열  (0) 2021.01.11
[python] 프로그래머스 > 콜라츠 추측  (0) 2021.01.08
    '알고리즘/알고리즘 문제' 카테고리의 다른 글
    • [python] 백준 > dfs > 단지번호 붙히기
    • [python] 프로그래머스 > 시저암호
    • [python] 프로그래머스 > 모의고사
    • [python] 백준 > 스택수열
    happyso
    happyso

    티스토리툴바