알고리즘 문제를 풀 때, 정수를 나눈 몫과 나머지를 구해야 할 때면,
보통 아래와 같은 방법으로 구합니다.
ex) 29을 3으로 나눈 몫과 나머지를 구해야 하는 경우
a = 29
b = 3
print(a//b, a%b) # 9, 2
하지만, 파이썬에서는 divmod와 unpacking 기능이 있는데 divmod를 사용하면 아래와 같이 간편하게 몫과 나머지를 구할 수 있습니다!
divmod는 한번에 몫과 나머지를 반환해주는 파이썬 내부 함수에요!
a = 29
b = 3
print(*divmod(a, b)) # 9 2
◆ divmod를 사용할 때 주의할 점◆
- 무조건 divmod를 사용하는 것이 좋은 것은 아닙니다! 가독성이나, 팀의 코드 스타일에 따라서, 근본적인 //, % 의 방법으로 쓰는게 더 좋을 수 있습니다.
그리고, divmod는 큰 숫자를 다룰 때 성능이 좋지, 작은 숫자를 다룰 때는 a//b, a%b 와 같이 쓰는게 더 낫다고 하네요!
둘의 퍼포먼스 차이에 관련해서는 Stack Overflow 질문을 참고해주세요.
이상으로, 파이썬에서 몫과 나머지 - divmod 방법을 알아봤습니다
반응형
'컴퓨터 공부 > 🐍 Python' 카테고리의 다른 글
[PYTHON] TYPEERROR: ‘UNICODE’ OBJECT DOES NOT SUPPORT ITEM ASSIGNMENT (0) | 2023.11.14 |
---|---|
n진법으로 표기된 string을 10진법 숫자로 변환하기 - int 함수 (0) | 2023.02.23 |
2차원 배열에서 최댓값 찾기 (0) | 2021.09.07 |
파이썬 기본_1 (0) | 2021.07.19 |
[Python] is와 == / and와 & / or과 | (0) | 2021.06.26 |