본문 바로가기
코딩테스트/백준

[JAVA] 13300번 방 배정

by PEKAH 2021. 8. 26.

문제

https://www.acmicpc.net/problem/13300

 

13300번: 방 배정

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어

www.acmicpc.net

풀이

입력받은 값을 2차원 배열로 하여 해당 값을 ++하여 학생의 수를 구한다.

 

방 배정 인원만큼 %로 나누어 보며 0이 아닐 경우 남는 인원이 있다는 것으로 판단, count++를 추가하고,

 

공통으로 /로 나누기 한 값을 count에 더해주었다.

 

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class 방배정 {
	static int arr[][];
	static int N, K, S, Y;
	static int count;
	
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		N = Integer.parseInt(st.nextToken());
		K = Integer.parseInt(st.nextToken());
		
		arr = new int[2][7];
		count = 0;
		
		for (int i = 0; i < N; i++) {
			st = new StringTokenizer(br.readLine());
			S = Integer.parseInt(st.nextToken());
			Y = Integer.parseInt(st.nextToken());
			
			arr[S][Y]++;
		}
		
		for (int i = 0; i < 2; i++) {
			for (int j = 1; j <= 6; j++) {
				if (arr[i][j] == 0) continue;
				
				if (arr[i][j] % K != 0) count++;
				count += arr[i][j] / K;
			}
		}
		
		System.out.println(count);
	}
}

 

 

'코딩테스트 > 백준' 카테고리의 다른 글

[JAVA] 2468번 안전 영역  (0) 2021.08.28
[JAVA] 2667번 단지 번호 붙이기  (0) 2021.08.27
[JAVA] 10163번 색종이  (0) 2021.08.26
[JAVA] 14889번 스타트와 링크  (0) 2021.08.26
[JAVA] 2606번 바이러스  (0) 2021.08.25

댓글