Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

Latest commit

 

History

History
24 lines (21 loc) · 1.14 KB

divmod,unpacking.md

File metadata and controls

24 lines (21 loc) · 1.14 KB

숫자 a, b가 주어졌을 때 a를 b로 나눈 몫과 나머지를 공백으로 구분해 출력해보세요!

input example:
5 3

output example:
1 2


이런 상황에서 파이썬에 익숙치가 않다면
아래처럼 나머지와 몫을 따로 구할거라고 예상이 돼요.

print(a//b, a%b)


보다 파이썬답게 작성한다면?

div: 몫과 나머지를 한 번에 구하는 함수
unpacking(*): 한 번에 묶여있던 인자들을 개별 인자로 분리


divunpacking을 이용해 다음과 같이 작성할 수 있어요.
print( *divmmod(a,b) )

output:
1 2


만약 *(unpacking)을 붙이지 않는다면 결과는 아래와 같아져요.
(1, 2)



!! 그렇다고 divmod를 사용하는 것이 무조건 좋은 방법은 아니에요.

팀의 스타일, 가독성을 고려했을 때 'a//b, a%b'를 사용하는 방법이 더 좋을 수도 있답니다.
또, divmod는 작은 숫자를 다룰 때 'a//b, a%b'보다 느립니다.(큰 숫자를 계산할 때는 더 빠르죠)