뽀미의 개발노트

백준 10250 ACM 호텔 본문

Algorithm_Test

백준 10250 ACM 호텔

산타는 뽀미 2023. 3. 15. 21:16

호텔은 H층으로 이루어져있고
한 층당 W개의 방이 있다.
처음 온 손님 순으로
101호, 201호, 301호..... 순으로 방을 배정받는다.
그럼 군은 H개가 있는거고, 뒤에 있는 방 번호는 군 내에서 몇 번째 항인지 의미하는것.

H W N 입력될 때
6 12 10 이렇게 입력되면
 
1군 - 101,201,301,401,501,601,
2군 - 102,202,302,402

이렇게 된것!
1군당 6개씩 방이 있으므로
10번째 손님은 6+4
즉 2군의 4번째 항(402호)에 가게된다.
여기서 층수 4는 10을 6으로 나눈 나머지
호수 2는 10을 6으로 나눈 몫 +1

H W N 입력될 때
6 12 12 이렇게 입력되면

1군 - 101,201,301,401,501,601
2군 - 102,202,302,402,502,602

12번째 손님은 6+6
2군의 6번째 항 (602호)
12를 6으로 나눈 나머지가 0이면 층수는 H
12를 6으로 나눈 몫이 자연수2이면 호수는 몫

1군당 H개씩 방이 있으면
층수 : N을 H로 나눈 나머지 (나머지가 0이면 층수는 H)
호수 : N을 H로 나눈 몫 +1 (나머지가 자연수이면 호수는 그냥 몫)

 


public static void main(String[] args) throws IOException {

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

int T = Integer.parseInt(bf.readLine());

int[] arr_H = new int[T];
int[] arr_W = new int[T];
int[] arr_N = new int[T];

for(int i = 0 ; i < T ; i++) {
StringTokenizer st = new StringTokenizer(bf.readLine());
arr_H[i] = Integer.parseInt(st.nextToken());
arr_W[i] = Integer.parseInt(st.nextToken());
arr_N[i] = Integer.parseInt(st.nextToken());
}
int floor;
int room;

for(int i = 0 ; i < T ; i++) {
if(arr_N[i] % arr_H[i] == 0) {
floor = arr_H[i];
room = arr_N[i] / arr_H[i];
}
else {
floor = arr_N[i] % arr_H[i];
room = arr_N[i] / arr_H[i] + 1;
}
System.out.println(floor*100 + room);
}




}
}

'Algorithm_Test' 카테고리의 다른 글

sw 1961. 숫자 배열 회전 (자바)  (0) 2023.08.11
sw 1940. 가랏! RC카! (자바)  (0) 2023.08.06
sw 1989. 초심자의 회문검사 (자바)  (0) 2023.08.04
백준 2292 벌집  (0) 2023.03.15
백준 2869 달팽이는 올라가고 싶다  (0) 2023.03.15