이번 문제는 우선 케이스 개수를 입력받고
호텔의 높이, 호텔의 한 층 당 방 개수, 도착한 손님이 몇 번째 손님인지도 입력받은 후에
해당 손님이 이 호텔에서 몇 호실에 배정될지를 출력해주는 코드를 작성하면 된다
num = int(input())
for i in range(num):
X, Y, Z = map(int, input().split())
top = Z%X
room = Z//X+1
if top == 0:
top = X
room = Z//X
print(f'{top*100+room}')
참고로 호텔 방을 배정하는 순서는 엘리베이터가 존재하는 왼쪽에서부터
아래에서 위 방향으로 진행된다
이 호텔 문제에서도 당연히 수식을 찾아내야 하는데
수식 관련 문제에서 쉽게 볼 수 있는 몫 나눗셈/나머지 나눗셈을 이용해서 이 문제를 풀 수 있다
즉, 7 번째 손님이 3층짜리 호텔에 가게 된다면
7을 3으로 몫 나눗셈한 결과는 2, 나머지 나눗셈한 결과는 1이다
여기에서 몫 나눗셈한 결과에 +1(층보다 작은 수들을 0번째 줄이 아닌 1번째 줄로 보기 때문에)을 한 뒤
[나머지 나눗셈 결과값]0[몫 나눗셈 결과값]
즉, 7번째 손님은 3층짜리 호텔에서 103호실에 배정받는다.
'코딩 테스트 > 백준 파이썬 문제 풀이' 카테고리의 다른 글
[백준 2839번 파이썬] 설탕 배달 (0) | 2022.04.02 |
---|---|
[백준 2775번 파이썬] 부녀회장이 될테야 (0) | 2022.04.02 |
[백준 2869번 파이썬] 달팽이는 올라가고 싶다 (0) | 2022.04.02 |
[백준 1193번 파이썬] 분수찾기 (0) | 2022.04.02 |
[백준 2292번 파이썬] 벌집 (0) | 2022.04.02 |