본문 바로가기

ALGORITHM

백준 10250 ACM 호텔 (Java)

1. 문제 링크

 

10250번: ACM 호텔

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

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

엘리베이터를 타고 이동하는 거리는 신경쓰지 않기 때문에 1호실이 다 차고 2호실이 다 차는 방향으로 진행된다.

그래서 높이 기준으로 나누어 떨어지는 경우와 아닌 경우로 나눴다.

나누어 떨어지면 마지막 층으로 가야 하고(0층이 없으니까), 아니라면 나머지에 해당하는 층으로 간다.

호수는 몫으로 했고 99호까지 있다는 형식에 맞춰서 2자리로 맞춰서 출력했다.

 

4. 코드

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));
		StringBuilder sb = new StringBuilder();
		
		int T = Integer.parseInt(br.readLine());
		for(int t=0;t<T;t++) {
			String[] split = br.readLine().split(" ");
			int H = Integer.parseInt(split[0]);
			int W = Integer.parseInt(split[1]);
			int N = Integer.parseInt(split[2]);
			int floor, num;
			if(N%H==0) {
				floor = H;
				num = N/H;
			}
			else {
				floor = N%H;
				num = N/H+1;
			}
			String room = floor+String.format("%02d", num);
			sb.append(room).append("\n");
		}
		System.out.println(sb);		
	}	
}