https://www.acmicpc.net/problem/10250
-- T = 테스트 데이터의 갯수
-- H = 각 호텔의 층 수, W = 각 층의 방 수, N = 몇 번째 손님
-- 방 번호는 YXX 나 YYXX 형태인데 여기서 Y 나 YY 는 층 수를 나타내고 XX 는 엘리베이터에서부터 세었을 때의 번호
-- 손님은 엘리베이터를 타고 이동하는 거리는 신경 쓰지 않는다. 다만 걷는 거리가 같을 때에는 아래층의 방을 더 선호한다.
-- 301호를 108호 보다 선호한다.
-- 101, 201, 301, 401 순으로 방이 나간다에서 착안
1. N,M를 놓고, N을 1, M을 01로 셋팅
2. N은 1부터 W까지 먼저 돌려서 먼저 수열을 만듦,
3. M을 ++M한 후 N을 W까지 또 돌리고 조합, M을 또 ++M한 후 N을 H까지 조합하는 것을 M이 H가 될 때 까지 리스트에 입력
4. 그렇게 값을 받으며 생성 된 리스트에서 N번째 위치 값을 추출한다.
H = 각 호텔의 층 수, W = 각 층의 방 수, N = 몇 번째 손님
T = int(input())
H, W, N = map(int, input().split())
for _ in range(T):
rooms = []
for n in range(1, W + 1): #1부터 W까지 뒷번호 생성
for m in range(1, H + 1): #1부터 H까지 앞번호 생성
room_number = m * 100 + n
rooms.append(room_number) #List에 생성된 번호 101, 201, 301,,, 저장
print(rooms[N - 1])
그런데 오류가 남 왜냐?
H, W, N = map(int, input().split())를 앞에 빼뒀기 때문,, 이런 경우 테스트 케이스 갯수 만큼 값을 입력받는게 아니라 첫번째 케이스만 값을 입력 받기 때문에 for 문 안으로 넣어줘야 한다
T = int(input())
for _ in range(T):
H, W, N = map(int, input().split())
rooms = []
for n in range(1, W + 1):
for m in range(1, H + 1):
room_number = m * 100 + n
rooms.append(room_number)
print(rooms[N - 1])