문제출처: https://www.acmicpc.net/problem/13300
풀이
2개의성별, 6개의 학년이 있기 때문에 총 12가지의 경우가 생깁니다. 2차원 배열이 바로 떠올랐고 이를 이용해 간단하게 풀 수 있었습니다.
필요한 방의 갯수는 성별/학년 별로 학생의 수가 저장된 배열값에서 k로 나눈 몫+나머지 입니다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include<iostream> using namespace std; int stu[2][6]; int main() { int n, k, s, y, cnt = 0; cin >> n >> k; for (int i = 0; i < n; i++) { cin >> s >> y; stu[s][y - 1]++; } for (int i = 0; i < 2; i++) { for (int j = 0; j < 6; j++) { //나눈 몫= 방의개수 cnt += stu[i][j] / k; //나머지있을시 방의개수+1 if (stu[i][j] % k != 0) cnt++; } } cout << cnt << endl; } | cs |
'문제풀이(BOJ) > 시뮬레이션(구현)' 카테고리의 다른 글
[백준 14647] 준오는 조류혐오야!! (0) | 2020.03.10 |
---|---|
[백준 17224] APC는 왜 서브태스크 대회가 되었을까? (3) | 2020.03.10 |
[백준 15953] 상금 헌터 (0) | 2020.03.10 |
[백준 1018] 체스판 다시 칠하기 (0) | 2020.02.07 |
[백준 5533] 유니크 (0) | 2020.01.19 |