[백준]10250번: ACM 호텔

이진솔·2024년 3월 26일
0
post-thumbnail

# 문제

[입력]
프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데 T는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N 세 정수를 포함하고 있으며 각각 호텔의 층 수, 각 층의 방 수, 몇 번째 손님인지를 나타낸다.

[출력]
프로그램은 표준 출력에 출력한다. 각 테스트 데이터마다 정확히 한 행을 출력하는데, 내용은 N번째 손님에게 배정되어야하는 방 번호를 출력한다.

# 결과

import java.io.*;
import java.util.StringTokenizer;

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

        for (int i = 0; i < T; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int H = Integer.parseInt(st.nextToken()); // 층 수
            int W = Integer.parseInt(st.nextToken()); // 방 수
            int N = Integer.parseInt(st.nextToken()); // 몇 번째 손님

            int Y = N % H;
            int X = N / H + 1;

            if (Y == 0) {
                Y = H;
                X = N/H;
            }
            bw.write(Y + "");

            if (X < 10) {
                bw.write("0");
            }
            bw.write(X + "\n");
        }
        bw.flush();
        bw.close();
    }
}

! 알아가야 할 것

  • Y == 0 : 층 수가 맨 꼭대기 층이라서 따로 계산해주어야 함.
profile
성장하기

0개의 댓글