프로그래머스: 3진법 뒤집기
문제풀러가기
https://programmers.co.kr/learn/courses/30/lessons/68935?language=python3
코딩테스트 연습 - 3진법 뒤집기
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수
programmers.co.kr
문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
입출력 예
n | result |
45 | 7 |
125 | 229 |
풀이
방법 1: 파이썬 진법 기능 사용 해서 풀이
방법 2: 직접 진법 계산 해서 풀이
코드 방법1: 진법 기능 사용 해서 풀이
def solution(n):
result=''
while n:
result+=str(n%3)
n=n//3
return int(result,3)
int(string, 진법)
=>10진법으로 출력
예) 3진법 21을 10진법으로 바꿀때,
print(int('21',3))
#7
#3진법 21을
#10진법으로 변환하면 21이다.
코드 방법2: 직접 진법 계산해서 풀이
def solution(n):
result=[]
sum=0
while n!=0:
result.append(n%3)
n=n//3
for i in range(len(result)):
sum=sum+((3**(len(result)-i-1))*result[i])
return sum
3진법을 10진법으로 바꾸는 계산법을 사용해서 풀었습니다.
진법 변환 계산법을 잘모르시는 분은 아래 링크 참조해주세요.
2021.03.09 - [C언어] - 2진수,10진수계산법/이진수,십진수 계산법(빠른 계산법)/이진법,십진법 계산
2진수,10진수계산법/이진수,십진수 계산법(빠른 계산법)/이진법,십진법 계산
10진수,2진수 계산법 10진수,2진수,8진수,16진수 표 10진수에서 2진수로 계산하는 방법은 두개가 있습니다. 하나는 기본적인 계산법, 또 다른 하나는 빠른 계산법입니다. 10진수->2진수 계산법 (기본
eunhee-programming.tistory.com
도움이 되셨다면 아래 하트 꾹 눌러주세요 :)

'코딩테스트 > 코딩테스트 문제' 카테고리의 다른 글
코딩테스트 준비 - 프로그래머스: 더 맵게 풀이/heap에 대하여 (파이썬) (0) | 2021.06.27 |
---|---|
코딩테스트 준비 - 프로그래머스: 문자열 압축 풀이+상세 (파이썬) (4) | 2021.06.25 |
코딩테스트 준비 - 백준1260번 DFS와 BFS 풀이 (파이썬) (0) | 2021.06.15 |
코딩테스트 준비 - 백준15649번 N과 M (1)풀이-DFS에 관해서(파이썬) (0) | 2021.06.08 |
코딩테스트 준비 - 백준18870번 좌표압축 풀이:파이썬 딕셔너리 활용 (파이썬) (0) | 2021.06.07 |
댓글