https://programmers.co.kr/learn/courses/30/lessons/68935
while n > 0:
으로 맨 위의 조건식을 해주어야 무한루프할 때 시간초과에 빠지지 않을 수 있음
결과값은 모두 string!
int(string, 원하는 진법))
print(int('101',2)) # 2진수 -> 10진수로 변환됨
print(int('202',3)) # 3진수 -> 10진수로 변환됨
print(int('303',4)) # 4진수 -> 10진수로 변환됨
print(int('404',5)) # 5진수 -> 10진수로 변환됨
print(int('505',6)) # 6진수 -> 10진수로 변환됨
print(int('ACF',16)) # 16진수 -> 10진수로 변환됨
def solution(n):
m = 0 # 몫
s = 0 # 나머지
t = [] # 3진법 저장
while n > 0: # 이걸 처음에 무한루프로 걸어줘서 시간초과 됨
m = n // 3
s = n % 3
t.append(s)
n = n // 3 # 업데이트 중요
if m == 1:
t.append(m)
break
answer = 0
for i in range(len(t)):
answer += (3 ** (len(t)-1-i)) * t[i]
return answer
def solution(n):
tmp = '' # int(str, 3) 쓰려면 ''문자열이어야
while n:
tmp += str(n % 3) # 문자열에 계속 더해줌 +=
n = n // 3
answer = int(tmp, 3) # 3진수 -> 10진수로 변환
return answer