2022.02.14 백준 10250번

김민혁·2022년 2월 14일
0

하루한문제

목록 보기
5/22

문제

첫번째 제출한 답

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int t = sc.nextInt();
		sc.nextLine();
		
		for (int i = 0; i < t; i++) {
			String input = sc.nextLine();
			String result = "";
			//층수
			int h = Integer.parseInt(input.split(" ")[0]);
			//방수
			int w = Integer.parseInt(input.split(" ")[1]);
			//몇번째 손님인지
			int n = Integer.parseInt(input.split(" ")[2]);
			
			if(n%h==0) {
				result += String.valueOf(h);
			}else {
				result += String.valueOf(n%h);
			}
			
			if(Math.ceil((double)n/h)>=10) {
				result += (int)Math.ceil((double)n/h);
			} else {
				result += "0"+ (int)Math.ceil((double)n/h);
			}
			
			System.out.println(result);
		}
		
	}
}

접근방식
->

n%h는 손님이 배정될 방번호의 층수(YY)를 의미 n%h==0일때는 따로 처리해준다
ex) n = 12 h = 10 일때 n%h 는 2이다 -> 손님은 2층에 배정
ex) n = 20 h = 10 일때 손님은 10층에 배정되어야 하지만 n%h는 0 이기 때문에 이 경우에는 h를 배정될 방의층수로 넣어준다

n/h 를 올림 한값( Math.ceil((double)n/h) )은 손님이 배정될 방번호의 호수(XX)를 의미한다 두자릿수일때는 바로 넣어주고 한자리수일때는 앞에 0을 붙혀서 넣어준다
ex) n = 12 h = 10 일때 Math.ceil((double)n/h)는 2.0이다 -> 손님은 02호에 배정된다.

결과->정답

profile
안녕하세요 김민혁입니다.

0개의 댓글