티스토리 뷰

https://www.acmicpc.net/problem/10250

 

10250번: ACM 호텔

프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수

www.acmicpc.net

 

문제는 위와 같으며 거리가 짧은 순으로 방을 채우기 때문에 10번째 손님은 402호에 머물게 됩니다.

 

 

따라서 N번째 손님 방의 층수와 호수는 각각 아래와 같은 식을 통해 계산할 수 있습니다.

 

층수 = N % H (But, 건물의 층수와 손님 번호가 같은 경우에는 가장 높은 층수에 머물게 됩니다.)

호수 = (N / H) + 1 (But, 건물의 층수와 손님 번호가 같은 경우에는 + 1 하지 않은 호수에 머물게 됩니다.)

 

자바 코드는 다음과 같습니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int t = Integer.parseInt(br.readLine());

        for (int i = 0; i < t; i++) {
            String[] input = br.readLine().split(" ");

            int h = Integer.parseInt(input[0]);
            int w = Integer.parseInt(input[1]);
            int n = Integer.parseInt(input[2]);

            int floor = n % h == 0 ? h : n % h;
            int roomNum = n % h == 0 ? n / h : (n / h) + 1;

            StringBuilder sb = new StringBuilder();
            sb.append(floor);

            if (roomNum < 10) {
                sb.append("0").append(roomNum);
            } else {
                sb.append(roomNum);
            }

            System.out.println(sb);
        }
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함