Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 19698번 - '헛간 청약' (PYTHON 풀이) 본문
문제:

소들의 수인 N, 헛간의 크기 가로 세로, 소들에게 배정되는 공간의 크기 L이 주어질 때 헛간에 최대 몇 마리의 소가 입주할 수 있는지 푸는 문제이다.
풀이:
N, W, H, L = map(int,input().split())
print(min(N, (W//L) * (H//L)))
네 개의 수를 입력받고 각 변수에 저장한다.
그리고 N(소의 수), (W//L) * (H//L) 이렇게 두 수 중 작은 값을 출력하는 문제이다.
우선 필자는 처음에 W*H // L*L을 해서 출력하면 되는 것 아닌가? 생각했다.
하지만 이 방법은 실제 배치 가능한 개수를 정확하게 반영하지 못한다. 이는 면적이 충분하더라도 남는 공간의 형태가 정사각형 을 만들지 못할 수 있기 때문이다.
따라서 실제로는 헛간의 가로 방향에 몇 개의 길이가 들어갈 수 있는지와 세로 방향에 몇 개의 L 길이가 들어갈 수 있는지를 각각 계산해야 한다. 즉, 가로 방향에는 W//L개의 공간이, 세로 방향에는 H//L개의 공간이 배치될 수 있다. 이 두 값을 곱하면 헛간에 배치 가능한 최대 소의 수가 된다.
그리고 실제로 존재하는 소의 마릿수 N이 함께 주어진다. 헛간에 배치 가능한 공간의 수가 많더라도 실제 소의 수가 그보다 적다면 모든 공간을 채울 수는 없다. 따라서 최종적으로 헛간에 들어갈 수 있는 소의 수는 헛간이 수용할 수 있는 최대 마릿수와 실제 소의 마릿수 중 더 작은 값이 된다.
'CODING 💻' 카테고리의 다른 글
| 애플리케이션 보안 4 (0) | 2026.03.06 |
|---|---|
| 백준 5524번 - '입실 관리' (PYTHON 풀이) (0) | 2026.03.06 |
| 백준 5524번 - '입실 관리' (PYTHON 풀이) (0) | 2026.03.04 |
| 백준 17496번 - '스타후르츠' (PYTHON 풀이) (0) | 2026.03.03 |
| 백준 4458번 - '첫 글자를 대문자로' (PYTHON 풀이) (0) | 2026.03.02 |
