• 방법 1. 리스트에 방 호수를 조건에 맞는 순서대로 입력
def solution(H, W, N):
rooms = list()
for j in range(W):
for k in range(H):
rooms.append(str(k+1)+str('{0:02d}'.format(j+1)))
print(rooms[N-1])
T = int(input())
for i in range(T):
H, W, N = map(int, input().split())
solution(H, W, N)
• 방법 2. 시간 단축, 코드길이 단축
t = int(input())
for i in range(t):
h, w, n = map(int, input().split())
floor = n % h
room = (n // h) + 1
if floor == 0:
floor = h
room -= 1
print(floor * 100 + room)
• 방법 1. 주어진 조건에 맞는 입실 순서는
101 201 301 401 501 ••• 102 202 302 402 502 이다.
따라서 이를 반복문을 통해 리스트 rooms에 넣는다.
• 방법 2. 층과 방 번호를 구하는 규칙을 찾는다.
이때, n % h 가 0이 되는 경우는 h가 가장 꼭대기 층일때 이다.
따라서 floor를 0이 아닌 h로 재정의 해주고 room또한 -1을 해주어야 한다.
- format( )의 자릿수와 소수점 지정
# 정수 N자리 ( {인덱스:0자릿수d} ) s = '{0:02d}, {1:03d}'.format(12345, 1) print(s) // 12345, 001 # 소수점 N자리 ( {인덱스:0.자릿수f} ) s = '{0:0.1f}, {1:0.3f}'.format(12.345, 1.2) print(s) // 12.3, 1.200