[알고리즘 연습]-ACM 호텔(python)

1. 문제링크

[ACM호텔] : https://www.acmicpc.net/problem/10250

2. 풀이 전 생각

문제가 좀 길어서 복잡해 보였지만 자세히 읽었을땐 조금 단순한 문제였던것 같다.

3. 풀이

t = int(input("테스트 케이스: "))

for z in range(t):
    h, w, n = map(int,input("층수,방수,손님: ").split())
    hotel = []
    for i in range(1,w+1):
        for j in range(1,h+1):
            room_num = (j*100) + i
            hotel.append(room_num)
    print(hotel[n-1])

손님이 올때마다 방배정을 할 때 각 층의 낮은 호실의 방을 내어주는 원칙이므로 이중 반복문 구조를 써서 순서에 맞게 리스트에 저장을 하였고 n 번째에 맞게 결과를 도출하였다.(인덱스가 0부터시작하므로 n-1을 해주었다)

4. 풀이하면서 고민했던 점

문제 푸는 패턴이 비슷해지는것 같아서 다른 방법도 고민했지만 잘 생각나지는 않았던 것 같다.

5. 문제를 풀고 난 소감

앞으로 문제를 풀면서 가능한 다양한 방법과 시간복잡도를 신경쓰면서 코드를 짜고 싶다.

좋은 웹페이지 즐겨찾기