xcc1
백준 10250:ACM 호텔 본문
https://www.acmicpc.net/problem/10250
10250번: ACM 호텔
프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수
www.acmicpc.net
전체코드
T = int(input())
for i in range(T):
H, W, N = map(int, input().split())
h = 0
w = 1
while True:
if N > H:
w += 1
N -= H
elif N == 0:
break
else:
h += 1
N -= 1
room_num = h*100 + w
print(room_num)
규칙
1. 층부터 늘어난다. 101 > 201 > 301 > 401 > ...
2. 세로로 한 층이 다 차게되면 1층부터 옆방으로 넘어간다. 102 > 202 > 302 > ....
반복문 구간
for i in range(T):
H, W, N = map(int, input().split())
h = 0
w = 1
while True:
if N > H:
w += 1
N -= H
elif N == 0:
break
else:
h += 1
N -= 1
인원수(N)이 층수보다 크게 되면 방의 뒷자리가 바뀐다.
즉 N > H면 w(방 호수의 뒷자리)가 +1, 그대신 모든 층수에서 옆에 칸이 다 찼으니 남은 인원수가 그만큼 빠진다. (N -= H)
남은 인원이 0명이라면 while 반복문 끝(break), 그렇지 않다면 남은 인원수 만큼 h(방 호수의 앞자리)가 더해지고 그만큼 인원을 뺀다.
글쓰다보니 더 줄일 수도 있을 것 같아서 줄여봤다.
T = int(input())
for i in range(T):
H, W, N = map(int, input().split())
h = 0
w = 1
while True:
if N > H:
w += 1
N -= H
else:
h = N
break
room_num = h*100 + w
print(room_num)
'백준' 카테고리의 다른 글
백준 1978번:소수찾기 (0) | 2021.11.03 |
---|---|
백준 2839번:설탕배달 (0) | 2021.10.30 |
백준 1193번 (0) | 2021.10.27 |
백준 문제별풀이 7단계(파이썬) (0) | 2021.09.04 |
백준 단계별 풀이 6단계 (파이썬) (0) | 2021.09.02 |