티스토리 뷰
반응형
풀이
간단하게 생각해보면 넓이 W는 의미가 없다. 왜냐하면 엘레베이터에서 가까운 순으로 번호가 채워지고, 결국엔 H부터 앞으로 채워지는 형태이기 때문이다.
따라서 손님이 채워지는 구조는 H만큼을 반복하는 패턴이 될 것이다. 따라서 몫과 나머지 문제라고 할 수 있다.
그렇다면 n을 h로 나눈 뒤, 몫으로 호수를 정하고(n번째 손님이 오면, 최대 층까지 이미 몇번이나 채워졌느냐)
나머지(몇 층까지 채워졌느냐)로 층수를 구하면 된다.
이때 나머지는 100을 곱해주면 층수를 쉽게 표현할 수 있다.(W<=99 이므로 가능)
import sys
t=int(sys.stdin.readline())
for i in range(t):
h,w,n=map(int, sys.stdin.readline().split())
if n%h==0:
print(h*100+n//h)
else:
print(n%h*100+n//h+1)
한가지 더 고려하자면, 만약 꼭대기 층(예:h=6, 601호)이라면 n%h는 0이 된다.
즉, 0이 나오므로 이때는 그냥 h로 출력해주면 된다.
반응형