본문 바로가기
IT/Python Quiz

[Python] math.ceil() 활용 미니 코딩테스트 문제

by Echinacea 2025. 2. 20.
반응형

Python의 math.ceil() 함수는 주어진 숫자를 올림하여 정수로 반환하는 기능을 합니다. 이를 활용하여 문제를 해결해보세요.


 

 

문제 1: 최소 버스 수 구하기 🚍

 

문제 설명

학교에서 학생들을 버스로 수송하려고 합니다. 한 대의 버스에는 최대 m명의 학생이 탑승할 수 있습니다. 총 n명의 학생을 모두 수송하기 위해 필요한 최소 버스 수를 계산하는 프로그램을 작성하세요.

힌트: math.ceil() 함수를 사용하여 나눗셈 결과를 올림 처리하면 쉽게 해결할 수 있습니다.

입력 형식

  • 첫 번째 줄에 두 개의 정수 n (학생 수)와 m (버스 최대 탑승 인원)이 공백으로 구분되어 주어진다.

출력 형식

  • 필요한 최소 버스 수를 출력한다.

예제 입력

57 20

예제 출력

3

설명

57명의 학생을 20명씩 수송하려면, 57 / 20 = 2.85이므로 올림하면 3대의 버스가 필요합니다.


 

 

문제 2: 최소 책꽂이 수 구하기 📚

 

문제 설명

도서관에서 책을 정리하기 위해 책꽂이를 설치하려고 합니다. 한 개의 책꽂이에는 최대 k권의 책을 수납할 수 있습니다. 총 n권의 책을 모두 보관하기 위해 필요한 최소 책꽂이 수를 계산하는 프로그램을 작성하세요.

힌트: math.ceil() 함수를 이용하여 책의 수를 책꽂이 용량으로 나눈 후 올림하세요.

입력 형식

  • 첫 번째 줄에 두 개의 정수 n (책의 총 권수)와 k (한 책꽂이에 수납 가능한 책 권수)가 공백으로 구분되어 주어진다.

출력 형식

  • 필요한 최소 책꽂이 수를 출력한다.

예제 입력

73 15

예제 출력

5

설명

73권의 책을 15권씩 보관하면, 73 / 15 ≈ 4.87이므로 올림하면 5개의 책꽂이가 필요합니다.


 

 

문제 3: 타일로 방 바닥 덮기 🏠

 

문제 설명

직사각형 방의 바닥을 타일로 덮으려고 합니다. 방의 크기는 길이 L과 너비 W로 주어지며, 한 개의 타일은 정사각형으로 한 변의 길이가 T입니다. 타일은 자르지 않고 방을 완전히 덮어야 하므로, 각 방향(길이, 너비)별로 필요한 타일의 수는 math.ceil() 함수를 사용해 올림으로 구해야 합니다. 방을 완전히 덮기 위해 필요한 최소 타일 수를 계산하는 프로그램을 작성하세요.

입력 형식

  • 첫 번째 줄에 세 개의 정수 L, W, T가 공백으로 구분되어 주어진다.

출력 형식

  • 필요한 최소 타일 수를 출력한다.

예제 입력

7 5 2

예제 출력

12

설명

  • 길이 방향: math.ceil(7 / 2) = 4개
  • 너비 방향: math.ceil(5 / 2) = 3개
  • 총 타일 수: 4 × 3 = 12개

 

 

 

 

 

 

 

 

 

 

 

정답 및 해설 ✅

문제 1 정답 및 해설

정답: math.ceil(n / m)을 사용하여 최소 버스 수를 계산할 수 있습니다.

import math
n, m = map(int, input().split())
print(math.ceil(n / m))

문제 2 정답 및 해설

정답: math.ceil(n / k)을 사용하여 최소 책꽂이 수를 계산할 수 있습니다.

import math
n, k = map(int, input().split())
print(math.ceil(n / k))

문제 3 정답 및 해설

정답: math.ceil(L / T) * math.ceil(W / T)을 사용하여 필요한 타일 수를 계산할 수 있습니다.

import math
L, W, T = map(int, input().split())
print(math.ceil(L / T) * math.ceil(W / T))

 

반응형

댓글