(수학) ACM 호텔

2020. 2. 23. 22:33개발노트

이 문제의 저작권은 BAEKJOON에 있습니다.

 

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

문제는 위 링크에서 확인할 수 있습니다.

 

#ACM 호텔

for t in range(int(input())):

    H, W, N = map(int, input().split())

    if N % H == 0:
        f = H
        Room_num = ( N // H )
    else:
        f =  ( N % H )
        Room_num = ( N // H ) + 1

    if Room_num < 10:
        Room_num = "0" + str(Room_num)
    
    answer = str(f) + str(Room_num)
    print(answer)

 

몫과 나머지를 이용해서 층수와 호수를 구하는 문제입니다.

 

H는 호텔 꼭대기층, W는 복도 맨 끝 호수, N은 손님 번호입니다.

만약 N % H를 해서 0이라면 N번째 사람은 H층에 들어가게 됩니다.

그리고 ( N // H ) 호수에 들어가게 됩니다.

 

그렇지 않고 N % H가 나누어 떨어지지 않는다면 H층이 아닌

N % H 층 ( N // H ) + 1 호수에 들어가게 됩니다.

 

호수를 나타낼 때 '1'을 '01' 과 같이 표기 하기 때문에 호수가 10보다 작으면

호수 앞에 모두 0을 붙여주었습니다.