본문 바로가기

카테고리 없음

[BOJ] 백준 10250 파이썬 - ACM 호텔

728x90

높이 h, 폭 w 로 이루어진 ACM 호텔의 n 번째 손님에게 최단거리에 위치한 방을 배정해주는 문제이다.

for i in range(t):
    h, w, n = map(int, input().split())

 

따져줘야 하는 경우가 두 가지가 있다.

 

첫 번째로, n번째 손님이 맨 꼭대기 층에 배정되는 경우이다.

    if n % h == 0:   
        col = n / h
        floor = h

맨 꼭대기 층이라는 말은 n이 h의 배수라는 소리이다.

그 경우 층은 항상 h와 같다.

 

 

두 번째는, 그 외의 경우이다.

    else:              
        col = n // h + 1
        floor = n % h

이 경우, 층수는 n을 h로 나눈 나머지이다.

호수는 나머지가 존재하므로 그 +1 한 그 다음칸이 호수가 된다.

 

방 번호는 "층수 x100 + 호수"를 해주면 된다.

    roomNum = floor*100 + col

 

 

[전체 코드]

t = int(input())


for i in range(t):
    h, w, n = map(int, input().split())
    if n % h == 0:      
        col = n / h
        floor = h
    else:               
        col = n // h + 1
        floor = n % h
    roomNum = floor*100 + col
    print(int(roomNum))
728x90