10진법 만들기 & divmod

2023. 1. 3. 18:58code/[프로그래머스] 파이썬을 파이썬답게

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

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

👀이 때, num은 string, base는 정수여야 하나봐

ex)

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

print(answer)
>>> 432

🤸🏻‍♀️ 전에 풀었던 문제도 이걸로 더 쉽게 풀 수 있을 것 같다!

코딩테스트 연습 - 이진수 더하기 | 프로그래머스 스쿨 (programmers.co.kr)

def solution(bin1, bin2):
    answer = ''
    ten1=int(bin1,2)
    ten2=int(bin2,2)
    answer=bin(ten1+ten2).replace("0b","")
    return answer

 

📌몫과 나머지 - divmod

파이썬의 dimod를 사용하면 몫과 나머지를 순서대로 돌려받을 수 있다.

ex)

a = 7
b = 5

print(divmod(a, b))
>>> (1, 2)

❗주의❗

divmod는 작은 숫자를 다룰 때는 a//b, a%b보다 느리다.

하지만, 큰 숫자를 다룰 때는 빠른 편이니 상황에 사용할 줄 알아야 한다.