1주차 과제 4.ACM 호텔 BEST 풀이
베스트 풀이 링크
베스트 풀이 코드- hongcheol님
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);
느낀점
알고리즘 문제를 풀면서 %와 // 연산자를 이용하는 경우가 자주 보입니다. 이처럼 %연산자는 사용하는 경우가 많다는 것을 다시 깨닫게 되었습니다. 또한 내가 작성한 알고리즘 코드가 맞았다 할지라도 가독성이나 코드의 효율성 부분에 있어 조금 더 생각해보면 좋겠다고 느꼈습니다.
Author And Source
이 문제에 관하여(1주차 과제 4.ACM 호텔 BEST 풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hochang/1주차-과제-4.ACM-호텔-BEST-풀이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)