import sys
test_case = int(sys.stdin.readline())
for _ in range(test_case):
h,w,n = map(int, sys.stdin.readline().split())
floor = n%h
room_num = 0
if floor == 0:
floor += h
if n % h == 0:
room_num = n//h
else:
room_num = n//h + 1
print(floor*100 + room_num)
acm hotel 문제를 푸신 분들 모두가 %와 // 연산자를 사용하여 방의 층수와 호수를 구하는 방식으로 문제를 해결하셨습니다.
이 풀이는 예제를 입력받고 출력하는 부분이 깔끔하다고 생각되고 이 문제의 핵심인 방의 층수와 호수를 구하는 부분 또한 읽기 편하다고 생각되어서 베스트 문제로 선정했습니다.
추가로 저 또한 이 문제를 풀어보았는데 제가 작성한 코드도 다른 분들이 참고해보시면 좋을 것 같아서 올려봅니다.
import sys
t = int(input())
for _ in range(t):
h,w,n = map(int,sys.stdin.readline().rstrip().split())
row = (n-1)//h+1
height = (n-1)%h+1
print(height*100+row);
알고리즘 문제를 풀면서 %와 // 연산자를 이용하는 경우가 자주 보입니다. 이처럼 %연산자는 사용하는 경우가 많다는 것을 다시 깨닫게 되었습니다. 또한 내가 작성한 알고리즘 코드가 맞았다 할지라도 가독성이나 코드의 효율성 부분에 있어 조금 더 생각해보면 좋겠다고 느꼈습니다.