hye-log

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

CodingTest/Baekjoon

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

iihye_ 2023. 8. 13. 04:02

0. 문제 링크

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

 

10250번: ACM 호텔

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

www.acmicpc.net

 

1. 문제 설명

1) N 번째로 도착한 손님의 방 번호 구하기

2) 엘리베이터를 타고 이동하는 거리는 신경 쓰지 않고, 걷는 거리가 같을 때에는 아래층의 방을 더 선호함

 

2. 입출력

// input
2
6 12 10
30 50 72

// output
402
1203

 

3. 코드

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

public class b10250 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = null;
		
		int T = Integer.parseInt(br.readLine()); // 테스트 데이터의 개수
		for (int i = 0; i < T; i++) {
			st = new StringTokenizer(br.readLine());
			int H = Integer.parseInt(st.nextToken()); // 호텔 층 수
			int W = Integer.parseInt(st.nextToken()); // 각 층의 방 수
			int N = Integer.parseInt(st.nextToken()); // 몇 번째 손님
			
			int h = N % H; // 방 결정
			if(h == 0) { // 나머지가 0이면 마지막 방으로 배정
				h = H;
			}
			int w = N / H + 1; // 층 수 결정
			if(N % H == 0) { // 나머지가 없으면 몫이 1 늘어나므로 1 빼기 
				w -= 1;
			}
					
			int ans = 100 * h + w;
			
			System.out.println(ans);
		}
	}

}

 

실행 결과

 

4. 회고

1) 몫과 나머지를 이용하여 방 번호를 구함

2) 나머지가 0일 때 -> 범위가 넘어가는 층 수와 방 번호를 처리해야 함

 

5. Github

https://github.com/iihye/Algorithm/blob/main/Baekjoon/b10250.java

 

 

728x90

'CodingTest > Baekjoon' 카테고리의 다른 글

[백준]1259번 팰린드롬수(JAVA)  (0) 2023.08.13
[백준]10809번 알파벳 찾기(JAVA)  (0) 2023.08.13
[백준]8958번 OX퀴즈(JAVA)  (0) 2023.08.13
[백준]3052번 나머지(JAVA)  (0) 2023.08.13
[백준]2920번 음계(JAVA)  (0) 2023.08.13
Comments