-
[프로그래머스] 3진법 뒤집기Engineering WIKI/Programmers 2022. 4. 5. 15:11
코딩테스트 연습 - 3진법 뒤집기
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수
programmers.co.kr
내 풀이
def solution(n): answer = 0 three_list = list() while n != 0: three_list.append(n % 3) n = int(n / 3) if n == 0: break pow_val = len(three_list) - 1 for i in three_list: answer += i * pow(3, pow_val) pow_val -= 1 return answer
다른 방법
def solution(n): tmp = '' while n: tmp += str(n % 3) n = n // 3 answer = int(tmp, 3) return answer
- 10 → 2 로 갈 때는 bin(num)을 활용하거나 format(num, 'b')을 활용할 수 있음.
- 2 → 10 으로 갈 때는 int() 함수를 활용해서 int(num, 2)로 작성하면 '2진수인 num값을 10진수'로 변환 가능
'Engineering WIKI > Programmers' 카테고리의 다른 글
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) 2022.04.06 [프로그래머스] 최소 직사각형 (0) 2022.04.05 [프로그래머스] 두 개 뽑아서 더하기 (0) 2022.04.05 [프로그래머스] 예산 (0) 2022.04.05 [프로그래머스] 실패율 (0) 2022.04.02 [프로그래머스] 폰켓몬 (1) 2022.04.01 [프로그래머스] 모의고사 (0) 2022.04.01 [프로그래머스] 소수 만들기 (0) 2022.04.01