728x90
https://www.acmicpc.net/problem/10250
10250번: ACM 호텔
프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수
www.acmicpc.net
호텔방의 크기인 층수*호수가 나오고 손님수가 주어지면 그 마지막손님의 방번호를 구하는 문제
# 10250번 문제 : ACM 호텔
# 호텔방의 크기와 손님 수가 주어지고 같은 손님은 각층의 1호실부터 배정된다
test_case = int(input())
for i in range(test_case):
h,w,n=map(int,input().split()) # h=층수 w=방호수 갯수 n=손님 수
room=0
if(n%h==0): # 꼭대기층일 경우 예외처리
room=100*h+(n//h)
print(room)
continue
for j in range(n%h): # 사람수%층수만큼 +100를 반복하면 층수를 구할 수 있다
room+=100
for k in range((n//h)+1): # 사람수//층수만큼 +1해주면 호수를 구할 수 있다
room+=1
print(room)

이 문제를 보고 2차원리스트를 만들어서 미리 값을 넣고 index값으로 정답을 출력하는 방법을 생각했지만 제한시간이 2초가 아닌 1초인걸 보고 이 방법은 시간제한에 걸릴것이라 생각해서 공식을 찾아냈고 그 방법은 손님수와 층수를 나누어서 (몫*1)+(나머지*100)을 해주고 꼭대기층만 예외처리하면 바로 정답을 찾아낼 수 있었다.
728x90
'알고리즘' 카테고리의 다른 글
| 백준의 알고리즘 1546번 문제(python) (0) | 2021.07.04 |
|---|---|
| 백준의 알고리즘 2908번 문제(python) (0) | 2021.07.03 |
| 백준의 알고리즘 2292번 문제(python) (0) | 2021.07.01 |
| 백준의 알고리즘 4153번 문제(python) (0) | 2021.06.30 |
| 백준의 알고리즘 3009번 문제(python) (0) | 2021.06.29 |