Development/BOJ
[BOJ] 백준 13300번 : 방 배정 C++ : 아주정은
아주정은
2020. 2. 20. 09:49
이건 뭐 문제가 워낙 a piece of cake이었다.
물론 생각은 좀 했다. 남성과 여성으로 나눠서 크기 6짜리 int배열을 두개 만들었다.
그리고 학년별로 숫자를 세어주었다.
그 다음 최대인원으로 나누기와 나머지를 구해서 필요한 방의 갯수를 늘려주었다.
항상 변수 초기화와 직관적인 연산에 주의하자!!!!!!
일리 갱!
#include<iostream>
#include<string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int N, K, Y; // 참가 학생수, 한방의 최대인원, 학년
bool S; // 성별 true가 남자, false가 여자
int male[6], female[6];
int r = 0; // 필요한 방 갯수
cin >> N >> K;
for (int i = 0; i < 6; i++) {
male[i] = 0;
female[i] = 0;
}
while (N--) {
cin >> S >> Y;
if (S) { // 남성
male[Y - 1]++;
}
else { // 여성
female[Y - 1]++;
}
}
for (int i = 0; i < 6; i++) {
int m = male[i] / K;
int f = female[i] / K;
if ((male[i] % K)!=0) m++;
if ((female[i] % K)!=0) f++;
r += m + f; // 방 갯수 올려준다.
}
cout << r << endl;
}