본문 바로가기

Algorithm

[백준] JAVA - 13300.방배정

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

 

13300번: 방 배정

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

www.acmicpc.net

Java Code

package com.java.algorithm;

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

public class BOJ_13300_방배정 {
	
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String[] info = br.readLine().split(" ");
		int N = Integer.parseInt(info[0]); // 학생들 수
		int K = Integer.parseInt(info[1]); // 방에 최대 K 명
		
		//1학년 여자 a명 남자b명 한 방에 최대 K명
		//a/K == 0 ? 1 : a/K
		int[][] students = new int[7][2]; //n학면 0 : 여자수 , n학년 1 : 남자수
		
		//[1:[a,b]] 여자 남자
		for (int i = 0; i < N; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine(), " ");
			int flag = Integer.parseInt(st.nextToken());
			int grade = Integer.parseInt(st.nextToken());
			students[grade][flag] += 1;
		}
		int ans=0;
		for (int i = 1; i < students.length; i++) {
			if(students[i][0] > 0) {
				ans += students[i][0] / K;
				ans += students[i][0] % K == 0 ? 0 : 1;
				
			}
			if(students[i][1] > 0) {
				ans += students[i][1] / K;
				ans += students[i][1] % K == 0 ? 0 : 1;
			}

		}
		System.out.println(ans);
		
	}

}

'Algorithm' 카테고리의 다른 글

[백준] JAVA - 1753.최단경로  (0) 2021.03.22
[SWEA] JAVA - 1238.Contact  (0) 2021.03.16
[백준] JAVA - 2578.빙고  (0) 2021.03.15
[SWEA] JAVA - 1227. 미로2  (0) 2021.03.14
[백준] JAVA - 10157.자리배정  (0) 2021.03.11