728x90
반응형
알고리즘 문제에 종종 등장하는 내용이기 때문에 따로 정리해둡니다.
▶ n진수 -> 10진수
파이썬에서 기본적으로 제공하는 int()함수를 사용하면 됩니다.
int(string, base)로 사용할 수 있습니다. string에는 변경하고자 하는 n진수를 문자열 형태로, base에는 string에 해당하는 진법을 넣으면 됩니다.
print(int('1010',2))
print(int('2020',3))
print(int('3030',4))
print(int('4040',5))
print(int('5050',6))
print(int('ACFD',16))
// 결과창
10
60
204
520
1110
44285
▶ 10진수 -> 2, 8, 16진수
bin(), oct(), hex() 함수를 이용하면 됩니다.
print(bin(10))
print(oct(10))
print(hex(10))
// 결과창
0b1010
0o12
0xa
0b는 2진수를, 0o는 8진수를, 0x는 16진수를 의미합니다.
▶ 10진수 -> n 진수
파이썬에서 따로 제공하는 함수는 없으므로 간단히 코드를 짜서 구할 수 있습니다.
def solution(n, k):
answer = ''
while n > 0:
n, mod = divmod(n, k)
answer += str(mod)
return answer [::-1] # 구해진 답을 역순으로 뒤집어야 원래 얻고자 한 n진수를 얻을 수 있음
print(solution(45,3))
// 결과창
1200
▶ n진수 -> n 진수
n진수를 10진수로 변환하고 그 수를 다시 n진수로 변경하면 됩니다.
728x90
반응형
'My Study > Algorithm' 카테고리의 다른 글
알고리즘 기초 - 이진 트리(Binary Tree) (1) | 2023.01.29 |
---|---|
알고리즘 기초 - 소수의 판별(에라토스테네스의 체) (0) | 2023.01.28 |
알고리즘 기초 - 크루스칼 알고리즘(최소 신장 트리) (0) | 2023.01.28 |
알고리즘 기초 - 최단 경로(플로이드-워셜, 벨만-포드) (1) | 2023.01.24 |
알고리즘 기초 - 최단 경로(다익스트라) (0) | 2023.01.24 |