유형 : 구현
풀이 시간 : 10분
def solution(n):
n = tri(n)
n = list(n)
n.reverse()
n = ''.join(n)
n = int(n, 3)
return n
def tri(n):
ans = []
curr = 3
while True:
if n < curr:
ans.append(str(n))
break
ans.append(str(n%curr))
n = n // curr
ans.reverse()
return ''.join(ans)
* n진법 -> 10진법 : int (숫자, n)
* 10 -> 16, 8, 2 : 내장함수
hex, oct, bin
* 그 외는 내장함수가 없으니까 알아서 함수 써라
3진법 함수쓰는데 시간 다씀.
내장함수가 없다니 파이썬 내 믿음을 저버렸다...
<다른 사람의 풀이>
def solution(n):
tmp = ''
while n:
tmp += str(n % 3)
n = n // 3
answer = int(tmp, 3)
return answer
1. 함수 굳이 따로 안 빼도 됨.
2. 종료조건 설정하지 말고 그냥 while 조건문으로 n 적으면 됨.
'프로그래머스 > Lv. 1' 카테고리의 다른 글
27. 삼총사 (itertools - combinations) (0) | 2024.07.12 |
---|---|
26. 이상한 문자 만들기 (enumerate) (0) | 2024.07.12 |
24. 예산 ★ (그리디;;) (0) | 2024.07.12 |
23. 행렬의 덧셈 ★ (numpy library의 사용) (0) | 2024.07.12 |
22. 문자열 다루기 기본 (0) | 2024.07.12 |