#60. 백준 10250번 문제 풀이: ACM 호텔 문제 원본 보기
H(층) W(층당 방개수) 의 호텔이 있다. 아래의 경우 H(3) W(4) 인 호텔의 모습니다. W=4 ------------------ E|301|302|303|304| l|201|202|203|204| H=3 e|101|102|103|104| ------------------ 사람들은 엘리베이터에서 가까운 방, 같은 거리라면 아래층을 선호한다. 엘리베이터를 타고 이동하는 거리는 신경쓰지 않는다. 선호도로 나열해 보면, 101, 201, 301, 102, 202 ...순이 된다. N 번째 손님이 경우, 선호하는 순으로 방을 배정하시오. 입력: 첫줄에 테스트 케이스 개수 T, 둘째줄에 H W N (1 ≤ H, W ≤ 99, 1 ≤ N ≤ H × W) 출력: 배정할 방번호
입력/출력
--입력--
2
6 12 10
30 50 72
--출력--
402
1203
문제풀이+해설
호수는 [층수][호수]의 조합이다.
선호도는 앞쪽호수 우선, 층수쪽으로 우선이다.
N 번째 손님이라면, /(나누기 몫), 호수는 1부터 시작하므로 +1 해줌.
 선호 호수 = (N / 층수) + 1
가 되고, %(나누기 나머지)
 선호 층수 = N % 층수
가 된다.

여기서 한가지 고려해야 할 것은 손님 순서가 층수의 배수이면 나머지가 0 이 된다.
0이 의미하는 건 0층이 아니라 꼭대기 층일 경우이다. 그래서 나머지가 0일 경우 별도 처리해 주어야 한다.
 호수 = N / H
 층수 = H (꼭대기층) 
이 된다. 
숫자 좌측을 0으로 채우기 위해, str(n).zfill(2)를 사용했다. n을 문자열로 만들고, 좌측 빈자리는 0으로 채워진다. 5 라면 05, 25 라면 그냥 25 가 된다.
code sol.
T = int(input())
# 테스트 케이스 개수를 정수로 받는다.
for _ in range(T): # 테스트 케이스 만큼 반복
  H, W, N = map(int, input().split())
  # 호텔 층수, 각층의 방수, 몇 번째 손님인지를 받는다.
  if N % H == 0: # 꼭대기 층은 나누면 0층이 되므로 꼭대기 층으로 처리해 준다.
    n = N // H # 선호 호수
    f = H # 층은 꼭대기층
  else:
    n = (N // H) + 1 # 선호 호수, 호수는 1부터이므로 +1 해줌.
    f = N % H # 선호 층수
  print(f, str(n).zfill(2), sep='') # 층호수, 즉 방번호 형식으로 출력
© 코드솔 - CodeSol. All Rights Reserved.