320x100
https://school.programmers.co.kr/learn/courses/30/lessons/68935
3진수로 바꿨을 때 최대 자릿수를 계산한 뒤, 3진수로 바꾼다.
문자열 역순 슬라이싱[::-1]으로 뒤집고, int(string, 3) 함수로 10진수로 바꾼다.
def solution(n):
answer = 0
new_n = ''
s=0
# 3진법 자릿수 구하기. 등호 포함
while n >= 3**(s+1):
s += 1
# 윗자리부터 0,1,2 채우기
while n != 0:
new_n += str(n//(3**s))
n -= (n//(3**s))*(3**s)
s -= 1
# 역순 슬라이싱
new_n = new_n[::-1]
# STRING 형의 n진수를 10진수로 : int(STRING,n)
answer = int(new_n,3)
return answer
'코딩테스트' 카테고리의 다른 글
[파이썬] 실패율 - 2019 KAKAO BLIND RECRUITMENT [CODING TEST #36] (0) | 2022.08.03 |
---|---|
[파이썬] 시저 암호 [CODING TEST #35] (0) | 2022.08.02 |
[파이썬] 로또의 최고 순위와 최저 순위 - 2021 Dev-Matching: 웹 백엔드 개발자(상반기) [CODING TEST #33] (0) | 2022.08.02 |
[파이썬] 불량 사용자 - 2019 카카오 개발자 겨울 인턴십 [CODING TEST #32] (0) | 2022.08.01 |
[파이썬] 행렬의 곱셈 [CODING TEST #31] (0) | 2022.08.01 |
댓글