본문 바로가기

python/programmers_파이썬을 파이썬답게

파이썬으로 몫, 나머지 한번에 구하기

  파이썬은 몫과 나머지를 반환하는 내장 함수를 제공합니다.

 

 

몫과 나머지를 구하는 문제에서

 우선

내장 함수를 사용하지 않고

산술 연산자를 사용하면

다음과 같이 작성할 수 있습니다.

 

programmers

물론 이렇게 단순한 계산은

산술 연산자를 사용하면 편하고

읽기도 쉽지만

 

언어가 자체적으로

제공하는 함수를

알고 있다면

다양한 문제 해결에 도움이 되니

배워보도록 할게요.

 

 

바로 divmod() 라는 내장 함수를 통해

몫과 나머지를 반환해줄 수 있습니다.

 

a를 b로 나누고

몫과 나머지 순서로

반환해주는 함수입니다.

 

그런데 앞에 붙은 Asterisk(*)는

어떤 기능을 가질까요?

 

한번 제거해보겠습니다.

 

이렇게 divmod(a, b)는

튜플 형태로 반환해준다는 것을

알 수 있습니다.

 

즉,

Asterisk(*)는

packing된 값을

unpacking 해주는 기능을

가지는데요,

 

문제가 요구하는 형태로

값을 반환해주기 위해

tuple로 'packing' 된

divmod(a, b)의 리턴 값을

Asterisk(*)를 붙여준 것입니다.

 

사소하지만

예측하지 못한

에러가 발생할 때에는

 

숫자형으로 반환하여야 하는 값을

문자열로 반환하거나,

 

이렇게 packing 된 형태로

반환했을 경우가

종종 있습니다.

 

같은 맥락으로

문제에서 주어지는

입력값의 타입도

주의해서 확인해야 합니다.