H
: 호텔의 층 수 (1 ≤ H ≤ 99)
W
: 각 층의 방 수 (1 ≤ W ≤ 99)
N
: 손님 순서 (1 ≤ N ≤ H × W)
✅ 입력 조건
1. 테스트케이스 수 입력
2.H W N
순서로 입력
✅ 출력 조건
1. 테스트케이스 별로 N번째 손님에게 배정되어야 할 방 번호 출력
for문으로 N번 반복해 대소 비교 →
최종 시간복잡도
for문으로 반복하며 방 번호 연산
if N // H >= 9:
answer = floor * 1000 + room
else:
answer = floor * 100 + room
N // H == 9
인 경우에 층 수가 2자리 수여야 하는데 아닌 것 같아서 이런 식으로 예외처리를 해주었다if floor == 0:
floor = H
room -= 1
floor == 0
인 경우는 0층이 되므로 전체 층수로 변경한다.import sys
input = sys.stdin.readline
# 1. 테스트케이스 수 입력
T = int(input())
# 2. H(호텔 층 수), W(각 층의 방 수), N(손님 순서) 입력 받기
hotels = [list(map(int, input().split())) for _ in range(T)]
# 3. 테스트케이스마다 N번째 손님의 방 번호 출력
for hotel in hotels:
H, W, N = hotel[0], hotel[1], hotel[2]
# 3-1. 층 수 계산
floor = N % H
# 3-2. 방 번호 계산
room = N // H + 1
# 3-1. 층 수가 0이 나오면 꼭대기 층이기 때문에 방 번호는 한 칸 줄어야 한다.
if floor == 0:
floor = H
room -= 1
print(floor * 100 + room)