본문 바로가기
Algorithm/Notes

[Notes] N진수 구하기

by 희구리 2022. 4. 28.

알고리즘문제를 풀 때 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

댓글