Notice
Recent Posts
Link
- Today
- Total
hye-log
[백준]13300번 방 배정(JAVA) 본문
0. 문제 링크
https://www.acmicpc.net/problem/13300
13300번: 방 배정
표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어
www.acmicpc.net
1. 문제 설명
1) 같은 학년끼리, 같은 성별끼리 방 배정
2) 한 방에 배정할 수 있는 최대 인원 수 K가 주어졌을 때 필요한 방의 최소 개수 구하기
2. 입출력
// input
16 2
1 1
0 1
1 1
0 2
1 2
0 2
0 3
1 3
1 4
1 3
1 3
0 6
1 5
0 5
1 5
1 6
// output
12
3. 코드
import java.util.Scanner;
public class b13300 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 수학여행에 참가하는 학생 수(1000)
int K = sc.nextInt(); // 한 방에 배정할 수 있는 최대 인원 수(1000)
int[][] rooms = new int[2][6];
int S = 0; // 성별
int Y = 0; // 학년
int ans = 0; // 필요한 방의 수
for(int n = 0; n < N; n++) {
S = sc.nextInt(); // 성별(여 : 0 / 남 : 1)
Y = sc.nextInt(); // 학년
rooms[S][Y-1]++;
}
for(int s = 0; s < 2; s++) {
for(int y = 0; y < 6; y++) {
if(rooms[s][y] > 0) { // 학생이 있으면 방 배정
ans += rooms[s][y] / K; // 몫만큼 방이 필요
if(rooms[s][y] % K > 0) { // 나머지가 있으면 방이 무조건 필요
ans++;
}
} // 학생이 없으면 방 배정 x
}
}
System.out.println(ans);
}
}
실행 결과
4. 회고
1) 성별, 학년에 따라 방 배정
2) 학생 수가 K보다 큰 경우 몫만큼 방을 주고, 나머지가 있으면 방을 하나 더 주기
5. Github
https://github.com/iihye/Algorithm/blob/main/Baekjoon/b13300.java
728x90
'CodingTest > Baekjoon' 카테고리의 다른 글
[백준]1158번 요세푸스 문제(JAVA) (0) | 2023.08.08 |
---|---|
[백준]10163번 색종이(JAVA) (0) | 2023.08.07 |
[백준]2493번 탑(JAVA) (0) | 2023.08.07 |
[백준]2164번 카드2(JAVA) (0) | 2023.08.07 |
[백준]2023번 신기한 소수(JAVA) (0) | 2023.08.06 |
Comments