📝 문제
💡 자연수 n이 매개변수로 주어집니다.
n을 3진법 상에서 앞뒤로 뒤집은 후,
이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
[제한사항]
- n은 1 이상 100,000,000 이하인 자연수입니다.
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✅ 풀이
def solution(n):
answer = ''
while True:
if n < 3:
answer += str(n)
break
a, b = divmod(n, 3)
answer += str(b)
n = a
answer = int(answer, 3)
return answer
💡 주어진 수를 따로 3진수로 만들고 그걸 뒤집을 필요 없이,
그냥 3으로 계속해서 나누면서 나머지를 순서대로 붙여주면 된다.
뒤집어진 3진수가 만들어지면, int를 이용해 손쉽게 10진수로 바꿔주면 끝.
📝 문제
💡 자연수 n이 매개변수로 주어집니다.
n을 3진법 상에서 앞뒤로 뒤집은 후,
이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
[제한사항]
- n은 1 이상 100,000,000 이하인 자연수입니다.
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✅ 풀이
def solution(n):
answer = ''
while True:
if n < 3:
answer += str(n)
break
a, b = divmod(n, 3)
answer += str(b)
n = a
answer = int(answer, 3)
return answer
💡 주어진 수를 따로 3진수로 만들고 그걸 뒤집을 필요 없이,
그냥 3으로 계속해서 나누면서 나머지를 순서대로 붙여주면 된다.
뒤집어진 3진수가 만들어지면, int를 이용해 손쉽게 10진수로 바꿔주면 끝.