View

n진법으로 표기된 string을 10진법 숫자로 변환하기 - int 함수

진법 변환 문제는 알고리즘 문제나 숙제로 자주 나오는 유형이지요.

이번 시간에는 n 진법으로 표기된 문자열을 10진법 숫자로 변환하는 방법을 배워봅시다.

예시) 5진법으로 적힌 문자열 '3212'를 10진법으로 바꾸기


다른 언어에서는..(또는 이 기능을 모르시는 분은)

보통 사람들은 for 문을 이용해 숫자를 곱해가며 문제를 풉니다.

num = '3212'
base = 5

answer = 0
for idx, number in enumerate(num[::-1]):
    answer += int(number) * (base ** idx)

파이썬의 int(x, base=10) 함수는 진법 변환을 지원합니다.

이 기본적인 함수를 잘 쓰면 코드를 짧게 쓸 수 있고, 또 시간을 절약할 수 있습니다.

num = '3212'
base = 5
answer = int(num, base)

제한 조건

1. num 는 반드시 문자열

2. num의 각 자리수는 base 보다 작아야한다.

Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31