코딩테스트 연습/백준

[백준] 10250번 : ACM 호텔 in python

슈퍼짱짱 2019. 9. 6. 08:00
반응형

BAEKJOON 알고리즘 10250번 문제 ACM 호텔 파이썬으로 풀기


백준 10250


https://www.acmicpc.net/problem/10250




코드


1
2
3
4
5
for _ in range(int(input())):
    H,W,N=map(int,input().split())
    a=N%H;b=N//H+1
    if a==0 : a=H;b-=1
    print(a*100+b)
cs




코드설명


N번째 오는 손님은 다음과 같은 순서로 채워진다. (N=1,2,3,...H,...,H*W)



이때 해당 손님이 몇 층에 머물지는 N에서 H를 나누고 남은 나머지(=N%H)와 같으며, 몇 번에 머물지는 N을 H로 나눈 몫 + 1(=N//H+1)과 같다.

단, N%H가 0일경우(예를들어, 6층짜리 호텔에 6, 12, 18 ... 번째 손님이 들어온 경우)에는 가장 꼭대기 층이므로 H층, N//H번에 머문다.


따라서 N번째 손님은 (N%H)*100+N//H+1 호에 머물며, N이 H의 배수일 때만 따로 처리해준다.

반응형