[파이썬] 백준 10250 ACM호텔
2021. 5. 2. 16:46ㆍ개발공부/알고리즘
https://www.acmicpc.net/problem/10250
10250번: ACM 호텔
프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수
www.acmicpc.net
아 이문제 정말 문제부터 머리아프다🤯
차근차근 이해해보자..
H = 호텔의 층 수
W = 각 층의 방 수
N = 몇 번째 손님
우선 규칙부터 찾아보면,
- 손님이 묵게 될 방의 층 수 = N%H(N에서 건물 층 수를 나눈 나머지)
- 손님이 묵게 될 방의 호 수 = N//H+1
- 만약 N이 건물 층수의 배수라면, 손님의 층 수는 H와 동일 & 호 수는 N//H
t = int(input())
#t개의 테스트 데이터로 이루어져있음
for i in range(t):
#t개만큼 반복
h, w, n = map(int,input().split())
#h,w,n input값 받음
if n%h == 0:
#만약 n이 건물 층 수의 배수라면
rm = n//h
#손님의 방 호 수
floor = h
#손님의 방 층 수
print(f'{floor*100+rm}')
else:
rm = n//h+1
#손님의 방 호 수
floor = n%h
#손님의 방 층 수
print(f'{floor*100+rm}')
#여기서 굳이 F-string을 써주지않아도 된다
조금 더 간단하게 적어본다면 아래와 같다.
t = int(input())
#t개의 테스트 데이터로 이루어져있음
for i in range(t):
#t개만큼 반복
h, w, n = map(int,input().split())
#h,w,n input 받음
RM = n//h+1
floor = n%h
if n%h == 0:
RM = n//h
floor = h
print(f'{floor*100+RM}')
'개발공부 > 알고리즘' 카테고리의 다른 글
[파이썬] 백준 1037 약수 & 2609 최대공약수와 최소공배수 (0) | 2021.05.02 |
---|---|
[파이썬] 곱하기 or 더하기 - 페이스북 기출문제 (0) | 2021.05.02 |
[파이썬] 백준 2884 알람시계 (0) | 2021.05.02 |
[파이썬] 백준 2869 달팽이는 올라가고 싶다 (0) | 2021.04.26 |
[파이썬] 조건문, 반복문 (0) | 2021.04.21 |