이건 뭐 문제가 워낙 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;
}
'Development > BOJ' 카테고리의 다른 글
[BOJ] 백준 5430번 : AC C++ : 아주정은 (0) | 2020.02.20 |
---|---|
[BOJ] 백준 11328번 : Strfry C++ : 아주정은 (0) | 2020.02.20 |
[BOJ] 백준 10804번 : 카드 역배치 C++ : 아주정은 (0) | 2020.02.20 |
[BOJ] 백준 1963번 : 소수 경로 C++ : 아주정은 (0) | 2020.02.20 |
[BOJ] 백준 1707번 : 이분 그래프 C++ : 아주정은 (0) | 2020.02.17 |