https://www.acmicpc.net/problem/13300
13300번: 방 배정
표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어
www.acmicpc.net
해석 및 팁
2차원배열을 알고있으면 무난하게 풀수있는 문제입니다. 성별과 학년으로 나누어진 배열에 입력을받아 k로 나누었을때의 몫과 1명이라도 남으면 방이 필요하므로 나머지를 더해주면 됩니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int count = 0; //방의 개수
int n = sc.nextInt();
int k = sc.nextInt();
int[][] arr = new int[6][2]; // (1~6학년)(남,녀)
for(int i = 0; i < n; i++) {
int gender = sc.nextInt(); // 성별
int grade = sc.nextInt(); // 학년
arr[grade-1][gender]++;
}
for(int i = 0; i < 6; i++) {
for(int j = 0; j < 2; j++) {
count += arr[i][j]/k;
if(arr[i][j] % k !=0) count++; //1명이라도 있으면 +1
}
}
System.out.println(count);
}
}
'백준' 카테고리의 다른 글
백준 17608 막대기(Java) (0) | 2023.01.12 |
---|---|
백준 6459 만취한 상범(Java) (0) | 2023.01.12 |
백준 2605 줄 세우기(Java) (0) | 2023.01.12 |
백준 2864 5와 6의 차이(Java) (0) | 2023.01.12 |
백준 2745 진법 변환(Java) (2) | 2023.01.12 |