728x90
programmers.co.kr/learn/courses/30/lessons/68935?language=python3
def solution(n):
answer = int(three(n), 3)
return answer
def three(number):
ans = ''
while number > 0:
ans += str(number % 3)
number //= 3
if 0 < number < 3:
ans += str(number)
break
return ans
파이썬에선 내장함수로 구할수있다.
int(number_string, n)으로 string으로 주어진 숫자로 n진법으로 구했을때 숫자를 구할수 있다.
편리한 기능이지만 알고리즘엔 도움이 되진 않는듯하다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int temp = 0;
int cn = n;
while (cn != 0)
{
int remain = cn % 3;
temp *= 3;
temp += remain;
cn /= 3;
}
return temp;
}
공부하기 위해 가져온 코드
파이썬에서는 그냥 str을 사용해서 하나씩 쌓아올렸지만 여기에선 3을 곱해서 하나씩 쌓아 올렸다.
'STUDY > Algorithm' 카테고리의 다른 글
[프로그래머스] LEVEL2 삼각 달팽이, python, C (0) | 2021.04.04 |
---|---|
[프로그래머스] 최솟값만들기 python, C (0) | 2021.04.02 |
[프로그래머스] 두개 뽑아서 더하기 python, C (0) | 2021.04.02 |
[프로그래머스] [3차] n진수 게임 python (0) | 2021.04.01 |
[프로그래머스] [3차] 파일명 정렬 python (0) | 2021.04.01 |