공부하는 블로그

Baekjoon | Q.10250 - ACM 호텔 본문

알고리즘 공부

Baekjoon | Q.10250 - ACM 호텔

치킨닮은닭 2019. 12. 26. 23:20
 

10250번: ACM 호텔

문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정

www.acmicpc.net

 호텔에 방문하는 투숙객 순서대로 거리가 짧은 객실부터 배정하여 방문 투숙객이 몇번째 방문객인지 입력하면 알맞은 객실 호수가 나오는 프로그램을 설계하는 문제이다. 

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int tc = sc.nextInt();
		String yy = "";
		String xx = "";
		
		for (int i = 0; i < tc; i++) {
			int h = sc.nextInt();
			int w = sc.nextInt();
			int client = sc.nextInt();
			
			
			if(client % h == 0) {
				yy = h + "";
				xx = client / h + "";
			}else {	
				yy = client % h + "";
				xx = client / h + 1 + "";
			}
			
			if(xx.length() == 1) {
				xx = "0" + xx;
			}
			
			System.out.println(yy + xx);
		}
	}

}

 

 높이(h)에 따른 거리는 고려사항이 아니고 폭(w)에 따른 거리만 고려하므로 높이의 몫과 나머지만 이용하여 객실 호수(yyxx)를 구하면 된다. 마지막에 xx의 경우 한 자리수라면 앞에 0을 붙여 표기해야 하므로 if문을 이용하여 처리해주었다.

Comments