알고리즘문제를 풀 때 N진수로 변환하는 문제가 많다.
문제를 풀 때마다 어떻게 변환해야하는지 시간을 소비했는데, 다른 블로그를 참고하면서 공부하던 중
많은 도움이 되었던 소스를 공유해서 기록! 😀
📌 10진수를 N진수로 변환하기(2진수 ~ 9진수)
num = 21 # 10진수
N = 3 # N진수
result = ''
while num:
result += str(num % N)
num = num // N
print(int(result))
📌 10진수를 N진수로 변환하기(2진수 ~ 16진수)
def convert(num, N):
T = "0123456789ABCDEF"
q, r = divmod(num, N)
return convert_notation(q, N) + T[r] if q else T[r]
print(conver(21, 3))
📌 N진수를 10진수로 변환하기
def convert(num, N):
decimal = 0
for idx, val in enumerate(str(num)[::-1]):
decimal += (N ** idx) * int(val)
return decimal
print(convert(1000, 2))
참고한 블로그 : https://programmer-ririhan.tistory.com/161
활용한 문제 : https://programmers.co.kr/learn/courses/30/lessons/92335
댓글