문제설명
이 문제의 핵심은 경우의 수를 잘 나누는 것입니다. 호텔에 온 순서대로 1)가까운 호실, 2) 낮은 층을 배정합니다. 101, 201, 301..102, 202, 302.. 의 형태로 배정이 되겠죠. 먼저 여러 개의 테스트케이스를 받기 때문에 for문을 활용하여 H, W, N을 테스트케이스 배열에 저장합니다. 그 다음, N번째로 온 손님이 머물 층과 호수를 따로 구해야 합니다. 먼저 층은 N을 H로 나눈 나머지가 될 것입니다. 단, 나머지가 0이라면 N은 H가 되어야 합니다. 호실의 경우 N을 H로 나눈 몫이 됩니다. 이제 하나의 문자열에 층과 호수를 합쳐서 방 번호를 출력하면 되는데, 호수가 9 이하라면 층과 호수 사이에 0을 삽입해야 합니다.
ACM호텔(#10250) 파이썬 코드
t = int(input())
hight = []
width = []
number = []
for i in range(t):
h, w, n = map(int, input().split())
hight.append(h)
width.append(w)
number.append(n)
for i in range(t):
if number[i] % hight[i] == 0:
room_number = number[i] // hight[i]
room_hight = hight[i]
else:
room_number = number[i] // hight[i] + 1
room_hight = number[i] % hight[i]
if room_number >= 10:
print("%d%d"%(room_hight, room_number))
else:
print("%d0%d"%(room_hight, room_number))
'백준 문제풀이 > 수학(Math)' 카테고리의 다른 글
백준 온라인 저지 - 영화감독 숌(#1436) 파이썬 (0) | 2022.01.11 |
---|---|
백준 온라인 저지 - 달팽이는 올라가고 싶다(#2869) 파이썬 (0) | 2021.07.30 |
백준 온라인 저지 - 분수찾기(#1193) 파이썬 (0) | 2021.07.30 |
백준 온라인 저지 - 벌집(#2292) 파이썬 (0) | 2021.07.30 |
백준 온라인 저지 - 손익분기점(#1712) 파이썬 (0) | 2021.07.30 |