[백준] 10250번 ACM 호텔 (JAVA)

sarah·2023년 1월 15일
0

BaekJoon

목록 보기
3/11

  • 테스트 데이터 갯수 : T
  • 호텔의 층 수 : H
  • 각 층의 방수 : W
  • 몇번째 손님 : N

해결

  • 층 수 구하기
    : N % H
    (그러나 N % H가 0이면 H가 된다.)
    (문제에서 나왔듯이 방번호는 YXX or YYXX가 되므로, *100을 해준다.)

  • 방 번호 구하기
    : N / H + 1
    (그러나 N % H가 0이면 N/H가 된다.)

이를 종합해보면 N%H가 0이냐의 여부에 따라 식이 달라지고, 실질적으로 각 층의 방수 즉, W 값은 쓰이지 않는다.

코드

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int T = Integer.parseInt(br.readLine());
        for(int i=1; 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());

            if (N % H == 0) {
                sb.append((H * 100) + (N / H)).append(System.lineSeparator());
            } else {
                sb.append(((N % H) * 100) + ((N / H) + 1)).append(System.lineSeparator());
            }
        }
        System.out.println(sb);
    }
}

0개의 댓글