알고리즘

[백준] 13300 _ 방배정

nayeonee__ 2023. 9. 19. 09:42

 

 

 

package solved_ac.Bronze;

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

public class B_13300_2 {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int N = Integer.parseInt(st.nextToken()); // 총 학생수
        int K = Integer.parseInt(st.nextToken()); // 반 배정 인원수

        int[] boys = new int[7];
        int[] girls = new int[7];

        for(int i = 0; i < N; i++){
            st = new StringTokenizer(br.readLine());
            int S = Integer.parseInt(st.nextToken());  // 성별
            int Y = Integer.parseInt(st.nextToken());  // 학년
			
            // 성별을 기준으로 나눠서 각 학년에 해당하는 배열에 학생이 추가될 때마다 1씩 증가
            if(S == 1){
                boys[Y] += 1;
            }
            else {
                girls[Y] += 1;
            }
        }

        int bCnt = 0; // 남학생이 배정받은 방의 개수
        int gCnt = 0; // 여학생이 배정받은 방의 개수
		
        // 학년마다 K명의 학생으로 반배정하는 방의 개수 세기
        for(int i = 1; i < boys.length; i++){
            if(boys[i]%K==0){
                bCnt += boys[i]/K;
            }
            else {
                bCnt += boys[i]/K + 1;
            }
        }

        for(int i = 1; i < girls.length; i++){
            if(girls[i]%K==0){
                gCnt += girls[i]/K;
            }
            else {
                gCnt += girls[i]/K + 1;
            }
        }
        System.out.println(bCnt+gCnt);
    }
}

'알고리즘' 카테고리의 다른 글

[leetcode] ContainsDuplicate  (0) 2023.09.29
[백준] 2309 _ 일곱난쟁이  (0) 2023.09.19
[백준] 11726 _ 2XN 타일링  (1) 2023.09.13
백준_8958_OX퀴즈  (0) 2023.07.28
백준_2798_블랙잭  (0) 2023.07.28