코드
num = int(input())
for i in range(num):
H,W,N = map(int,input().split())
count = 1
while N>H :
N = N-H
count += 1 #방 호수
# print(N, count)
if count<10:
print(f'{N}0{count}')
else:
print(f'{N}{count}')
풀이
짱 쉬운 문제다
1호가 없어질때까지(h까지) 밑에서 부터 쫙 주고
2호가 없어질때까지 밑에서 부터 쫙 주고
하면 된다
손님이 H보다 적은 번째에 왔다면
예를 들어 H가 6인데 손님이 5번째 손님이면 그냥 501호를 주면된다
그런데 손님이 7번째가 되면 102호로 2호라인으로 넘어가야한다
그러니까 N이 H보다 클때 H를 빼면서 1호->2호->3호 .. 이렇게 넘어가야한다
손님이 20번째 손님이면
6번째 손님까지 1호/ 7~12번째 손님까지 2호/ 13~18번째 손님까지 3호라인/ 19~ 번째 부터 4호라인에 가야하고
19번부터 4호라인 시작이므로 20번째 손님은 204호에 가야한다
여기서 치면 N은 2가 남아있을 것이고 count는 4가 되어있겠다.
count가 10이하라는 것은 방 호수가 9호까지라는 뜻이다.
1자리 수일때는 109 108호 처럼 0이 중간에 붙어야하니까 저렇게 출력했고
2자리 수이면 그냥 111호 처럼 출력하면 되니까 저렇게 if문으로 나눠줬다.
728x90
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준] 2805 나무자르기 파이썬 풀이 (이분탐색) (0) | 2021.06.20 |
---|---|
[백준] 1929 소수 구하기 파이썬 풀이 (기본수학2) (1) | 2021.06.20 |
[백준] 2609 최대 공약수와 최소 공배수 파이썬 풀이 (정수론 및 조합론) (0) | 2021.06.20 |
[백준] 1037 약수 파이썬 풀이 (정수론 및 조합론) (0) | 2021.06.20 |
[백준] 2869 달팽이는 올라가고 싶다 파이썬 풀이 (기본 수학 1) (0) | 2021.06.20 |