[프로그래머스][LV.0] 몫 구하기 | python3

2025. 1. 14. 19:37프로그래머스/LV.0

 

문제 링크: 몫 구하기

 

문제 설명

문제 설명

정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.


제한사항
- 0 < num1 ≤ 100
- 0 < num2 ≤ 100

 


문제 풀이

이것도 처음보는 풀이방법이 있어서 가지고 왔다...

 

내코드

def solution(num1, num2):
    answer = num1//num2
    return answer

 

 


 

더보기
더보기

다른사람풀이

 

solution = int.__floordiv__

이게 대체 뭘까...

 

♣ __floordiv__

- 특수 메서드이다. 매직 메서드라고도 불린다. 

 

    ♧ 특수 메서드, 매직메서드

        - 클래스 내부에 선언할 수 있는 특수메서드이다. 파이썬에서 사용되고 있는 연산자나 함수를 오버 로딩할 수 있다. 기존에 사용되고 있는 연산자나 함수를 오버 로딩하므로 정해진 이름을 사용해야 한다.

 

이 부분도 따로 정리해서 올려야 할듯...

 

def solution(num1, num2):
    return divmod(num1, num2)[0]

 

이건 이런 함수가 있다는 걸 기억하기 위해 가지고 왔다.

 

♣ divmod() 함수

- 몫과 나머지를 구할 수 있는 파이썬 내장함수

- 튜플 형태로 반환한다.

    (몫,나머지) 형태

- 두번째 인자에 0을 넣으면 에러가 난다

- 작은 숫자를 다룰 때는 연산자보다 느리지만 큰 숫자를 다룰 때는 더 빠르다. 

- [0]으로 몫을 [1]로 나머지를 얻을 수 있다.