10250번

    [BOJ] 10250번 : ACM 호텔 (JAVA/자바)

    [BOJ] 10250번 : ACM 호텔 (JAVA/자바)

    문제 알고리즘 고민 n번째로 도착한 손님이 몇층 몇호에서 머무는지에 대한 문제이다. 먼저 1호실부터 다 채운 후 2호실, 3호실 순서로 진행된다. 손님이 머무를 층수를 구하기 위해서는 앞에서부터 H 명씩 차기때문에 N에서 H씩 빼주다 H보다 작아질때의 값을 구하면 된다. 따라서, N%H를 하게되면 앞의 1호실 부터 순차적으로 차고 남은 방의 m층의 위치가 나오게되는데 N%H == 0 일때를 고려해서 예외로 꼭대기 층은 H로 고정시켜줘야한다. 다음으로 호수를 구해야하는데 층수를 구할때와 마찬가지로 N에서 H씩 빼주는 과정을 거치면 되는데 이때 층수와는 다르게 나머지 값이 아닌 몇번 수를 몇차례 빼줬는지에 대한 변수이기 때문에 N/H를 구하면된다. 이때도 마찬가지로 N%H != 0 일때는 남은 사람수가 있다..