반응형
BAEKJOON 알고리즘 10250번 문제 ACM 호텔 파이썬으로 풀기
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의 배수일 때만 따로 처리해준다.
반응형
'코딩테스트 연습 > 백준' 카테고리의 다른 글
[백준] 6064 : 카잉달력 in python 파이썬 코드, 반례 (0) | 2019.09.08 |
---|---|
[백준] 2775번 : 부녀회장이 될테야 in python 파이썬 (0) | 2019.09.07 |
[백준] 2869번 : 달팽이는 올라가고 싶다 in python 파이썬 쉽게 설명하기 (0) | 2019.09.04 |
[백준] 1011번 : Fly me to the Alpha Centauri in python 설명 (0) | 2019.09.03 |
[백준] 1193번 : 분수찾기 in python 쉽게설명하기 (0) | 2019.08.28 |