SteadyDrills

[TIL] 코딩 테스트: 몫구하기 본문

PYTHON

[TIL] 코딩 테스트: 몫구하기

Drills 2024. 5. 23. 00:46

20240522

코딩 테스트: 몫 구하기

문제: 정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성

제한사항

  • 0 < num1 ≤ 100
  • 0 < num2 ≤ 100
def solution(num1, num2):
    if 0<=num1<=100 and 0<=num2<=100: 
        answer = num1 / num2
        return answer
    else: return

 

위 문제에 내가 쓴 답이다. 실행해 보고 더 궁금한 게 생겼다. 예를 들어 num1을 20, num2를 3이라고 하면, 6.666666666666667로 나오는데 정수값만 필요하면 어떻게 코딩을 해야 할까?

def solution(num1, num2):
    if 0<=num1<=100 and 0<=num2<=100: 
        answer = int(num1 / num2)
        return answer
    else: return

강의에서 배운 int 문법을 쓰면 정수값인 6만 나온다. 구글링을 통해 더 찾아보니까 '//'연산자를 넣으면 정수로만 값이 나온다.

 그런데 값이 6.666666666666667인데 6이면 꽤 차이가 나는 거 같아서 다른 방법도 찾아봤다.

result = 20 / 3
rounded_result = round(result, 3)

round 함수다. round(a, b)로 사용되는데  'a'는  반올림할 숫자, 'b'는 반올림할 소수점 자릿수이다, 위에 코드대로 실행하면 6.667이 나온다. 

 

오늘 공부한 것 중에 제일 '새롭다'라고 생각한 건 '//'인 거 같다 다른 함수가 없어도  연산자 만으로 편한 코딩을 할 수 있다는 점과 실제로 정수값만 필요하다면 쓰기도 편하고 보기에도 간결해서 좋은 거 같다.

'PYTHON' 카테고리의 다른 글

[TIL]코딩테스트: 짝수의 합  (0) 2024.05.29
[TIL]Lv2. 스파르타 자판기  (0) 2024.05.28
[TIL]Lv1. 랜덤 닉네임 생성기  (0) 2024.05.26
[TIL]홀 수 짝수 판별기  (0) 2024.05.24
[TIL] Python 과 Python 프레임 워크  (0) 2024.05.22