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 보다 작아야한다.
'PYTHON' 카테고리의 다른 글
Python을 Python답게) 알파벳 출력하기 - string 모듈 (0) | 2022.01.04 |
---|---|
Python을 Python답게) 문자열 정렬하기 (0) | 2022.01.03 |
Python을 Python답게) 몫과 나머지 - divmod (0) | 2021.12.30 |
TIL | PYTHON_DJANGO_logIn 과정 (0) | 2021.09.07 |
TIL | PYTHON_Session_로그인 & 회원가입 (0) | 2021.08.25 |
reply