이 글은 프로그래머스의 파이썬을 파이썬답게 강의를 수강하고 작성하는 글입니다.
알고리즘 문제에서 자주 등장하는 진법 변환 문제를 해결할 때 보통 for문을 이용해 숫자를 곱해가며 문제를 해결한다.
num = '3212'
base = 5
answer = 0
for idx, i in enumerate(num[::-1]):
answer += int(i) * ( base ** idx ) # base ** idx == pow(base, idx)
하지만 파이썬에서는 파이썬의 int(x, base = 10)함수가 진법 변환을 지원한다.
이 기본적인 함수를 잘 사용하면 코드를 짧게 작성할 수 있고, 또 시간을 절약할 수 있다.
(x에는 문자열만 들어갈 수 있다.)
num = '3212'
base = 5
answer = int(num, base)
'Python' 카테고리의 다른 글
[Python] 알파벳 출력하기 - string 모듈 (0) | 2021.01.09 |
---|---|
[Python] [Str 다루기] 문자열 정렬하기 - ljust, center, rjust (0) | 2021.01.09 |
[Python] [정수 다루기] 몫과 나머지 - divmod (0) | 2021.01.09 |
[Python] Asterisk (0) | 2021.01.07 |
[Python] lambda & map & reduce (0) | 2021.01.06 |