본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 13300번 : 방 배정 답

반응형

www.acmicpc.net/problem/13300

 

13300번: 방 배정

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

www.acmicpc.net

 

풀이방법

 1. 성별에 따라 배열을 선언합니다.

 2. 각 성별의 학급에 따른 학생 수를 저장합니다.

 3. 모든 학급 당 k만큼 나누어 떨어지면 몫을 더해주고, 아니라면 몫+1을 더해줍니다.

Code

#include <bits/stdc++.h>
using namespace std;
int male[7];
int female[7];
int main(){
    int n,k;
    cin >> n >> k;
    for(int i = 0; i < n; i++){
        int gender;
        int grade;
        cin >> gender >> grade;
        if(gender==0){
            female[grade]++;
        }else{
            male[grade]++;
        }
    }
    int room = 0;
    for(int i = 1; i <= 6; i++){
        if(male[i] % k == 0) room += male[i] / k;
        else room += male[i]/k+1;
    }
    for(int i = 1; i <= 6; i++){
        if(female[i] % k == 0) room += female[i] / k;
        else room += female[i]/k+1;
    }
    cout << room << '\n';
}