https://www.acmicpc.net/problem/10250
주어진 테스트케이스에 더해 두 개의 테스트케이스를 추가했다.
# 입력
6 12 10
30 50 72
6 12 53
6 12 54
# 출력
402
1203
509
609
브론즈3 문제 치곤 고려할 부분이 많은 것 같다.
for _ in range(int(input())):
H, W, N = map(int, input().split())
if N % H: # 예시) 6 12 10
x = N % H
y = N // H + 1
else: # 예시) 6 12 54
x = H
y = N // H
if y < 10:
print(str(x) + "0" + str(y))
else:
print(str(x) + str(y))
방 배정 방법을 어려운 말로 적어놨지만,
101, 201, 301, ..., H01, 102, 202, 302, ...
처럼 한 호를 다 채운 뒤 다음 호를 배정한다는 뜻이다.
for _ in range(int(input())):
H, W, N = map(int, input().split())
x = N % H
y = N // H + 1
if x == 0:
x = H
y -= 1
print(x * 100 + y)
내 풀이 1보다 훨씬 간결하고 좋은 풀이다. 대부분의 블로그에서 이런 식의 코드를 제시했다.
다른 것보다 x * 100
을 생각하지 못한 게 많이 아쉽다.