안녕하세요 박민성입니다.
오늘은 티어에 비해 생각보다 시간이 걸린 백준 10250번 ACM 호텔을 풀어보겠습니다.

문제를 보면
입력은 첫째 줄에는 테스트 케이스 T의 값과 호텔에 층수 H, 한 층에 있는 호실 수 W, 호텔에 방문한 손님 수 N이 주어집니다.
출력은 주어진 N번째 손님이 배정받는 방 번호를 출력합니다.
방 배정은 101호부터 HW호만큼 있으면 W가 작은 것부터 방을 배정해야 합니다. 층수는 크든 작든 엘리베이터가 있어서 호실이 작은 것부터 방을 배정해야 합니다.
그럼 해결방법은 N에서 H를 빼준 뒤 그 사이클에 횟수가 곧 호실이니 마지막에 호실을 붙여주면 끝이라고 생각합니다.

일단 테스트 케이스 개수를 변수 n으로 받아줍니다. 그리고 호실은 1부터 시작하니 w로 1부터 시작하게 합니다.

이렇게 값을 입력받은걸 a, b, c에 저장 후 while 문을 사용하여 손님 c 가 층수보다 많거나 0보다 많으면 빼주고 호실을 더해주는 식으로 풀었습니다. 이렇게 해야지 변수 없이 손님을 받을 수 있다고 생각했습니다. 그리고 0보다 클 때 뺏는데 0보다 작으면 안 되니 a를 다시 더해주고 호실도 빼주고 break 해주었습니다.

마지막으로 출력을 해주면 되는데요. 그래서 처음에는 중간에 0을 넣어서 101호처럼 형식을 맞추려고 했지만 호실이 10이 넘어가면 1010 이렇게 되기 때문에 조건문을 사용하여 방지해 주었습니다.
하지만 여기서 테스트 케이스는 여러 개로 출력되니 할 때마다 w 즉 호실을 1로 초기화시켜주고 변수 b도 안 쓰니 지워주겠습니다.

이것이 전체 코드입니다. 이렇게 백준에 제출하였더니

정답이었습니다.
'알고리즘 C#' 카테고리의 다른 글
| ★백준 1920번 수 찾기 C#으로 문제 풀어보기★ (1) | 2025.08.24 |
|---|---|
| 백준 10773번 제로 C#으로 문제 풀어보기 (3) | 2025.08.19 |
| 백준 16430번 제리와 톰 C#으로 문제 풀어보기 (4) | 2025.08.10 |
| 백준 5086번 배수와 약수 C#으로 문제 풀어보기 (1) | 2025.08.09 |
| 백준 1292번 쉽게 푸는 문제 C#으로 문제 풀어보기 (3) | 2025.08.07 |