

N번째 고객의 경우 N을 H로 나눴을때의 몫 +1 만큼의 호수에 배정이 되어있고,
N을 H로 나눴을때의 나머지 만큼의 층수에 배정이 된다.
w=N/H+1;
h=N%H;
System.out.println(h+String.format("%02d",w));
이때 두가지 경우로 나뉘는데, 나머지가 0인 경우와 아닌경우이다.
나머지가 0인경우 층수는 0층, 호수는 다음호수로 넘어가게 됨으로 예외로 빼주어야 한다.
예시를 들면 H=6 W=12 N=12인 경우
602호에 배정되어야 하지만 003호에 0층3호 즉 003호에 배정되게 된다.
따라서 호수는 +1이 아닌 N을 H로 나눈 그대로 가져가고,
층수는 호텔의 최대 층수인 H를 가져가면 되는것이다.
if(N%H!=0){
w=N/H+1;
h=N%H;
}else {
w=N/H;
h=H;
}
System.out.println(h+String.format("%02d",w));
아래는 전체 코드이다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int t=0;t<T;t++){
int H= sc.nextInt();
int W=sc.nextInt();
int N=sc.nextInt();
int w =0;
int h=0;
if(N%H!=0){
w=N/H+1;
h=N%H;
}else {
w=N/H;
h=H;
}
System.out.println(h+String.format("%02d",w));
}
}
}'Algorithm' 카테고리의 다른 글
| java를 이용한 간단한 성적 테이블 저장하기 (0) | 2022.09.28 |
|---|---|
| 2022_09_22 실습 8 (1) | 2022.09.23 |
| 2022_09_22 실습 7 (1) | 2022.09.23 |
| 2022_09_22 실습 6 (1) | 2022.09.23 |
| 2022_09_22 실습 5 (1) | 2022.09.23 |