한 걸음씩 기록하며
[백준] 10250번 ACM 호텔 본문
⛏ 문제 파악
- H층이고 W호실까지있는 호텔에 방 배정하는 문제
- 처음에 입력되는 값이 테스트 데이터이기에 그 숫자만큼 for문을 돌려야한다.
- n이 h의 배수일 경우와 아닐 경우를 나누어 작성해야한다.
👉🏻 답안
t = int(input())
for i in range(t):
h, w, n = map(int, input().split(' '))
x = n // h + 1
y = n % h
if n % h == 0:
x = n // h
y = h
print(f'{y*100+x}')
📑 간단한 설명
- x가 일반적이라면 // h+1을 해준다. 가령 15층짜리 호텔이라면 16번째 손님이 오면 102호를 주는 꼴이 된다.
- 그러나 x가 0이 된다면 // h를 해준다. 가령 15층 짜리 호텔에 15번째 손님이 오면, 1501호를 주는 것이다.
- 출력은 공백이 없어야하므로 f-string format을 사용했다.
- y*100을 통해서 3자리 수부터 y가 출력되고 x가 일의 자리일 때의 출력 오류를 방지했다.
- 아래와 같은 방식으로도 가능하지만 굳이 사용할 필요는 없다.
if (x >= 10):
print(f'{y}{x}')
else :
print(f'{y}0{x}')
'알고리즘 & 코딩테스트' 카테고리의 다른 글
[백준] 1110번 더하기 사이클 (0) | 2022.03.04 |
---|---|
[백준] 1929번 소수구하기 (0) | 2022.03.04 |
[백준] 4948번 베르트랑 공준 (0) | 2022.03.02 |
[백준] 2839번 설탕배달 (0) | 2022.03.02 |
[프로그래머스 코딩테스트] 2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천 (0) | 2022.01.21 |
Comments