728x90
▶문제 : 방 배정 (중등) (codeup.kr)
▶코드 작성
#include <stdio.h>
int main()
{
int n, k, cnt;
int num = 0, arr[2][2] = {0};
scanf("%d %d", &n, &k);
for (int i = 0, m, g; i < n; i++) {
scanf("%d %d", &m, &g);
if (g == 1 || g == 2) num++;//1~2학년일 때
else if (g == 3 || g == 4) arr[m][0]++;//3~4학년일 때
else arr[m][1]++;//5~6학년일 때
}
cnt = num / k;//1~2학년 k명을 꽉 채운 방 개수
if (num % k > 0) cnt++;//k명을 못 채운 방 +1
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
if (arr[i][j] > 0)//인원이 1명이라도 있을 때
{
cnt += arr[i][j] / k;//k명을 꽉 채운 방
if (arr[i][j] % k > 0) cnt++;//k명을 못 채운 방 +1
}
}
}
printf("%d", cnt);
return 0;
}
▶해석
성별과 학년을 입력받을 때 1~2학년 따로, 3~4학년 따로, 5~6학년 따로 입력받았다.
k명을 꽉 채운 방 개수를 구하기 위해 arr [i][j]/k를 계산하였고, k명을 못 채운 방을 구하기 위해 arr [i][j]% k가 0보다 큰지 확인하여 +1 하였다.
728x90
'코드업(codeup) > C' 카테고리의 다른 글
코드업(codeup) 2651 : 극장 좌석 배치 1 C언어 (0) | 2022.03.03 |
---|---|
코드업(codeup) 4877 : 방 배정하기 C언어 (0) | 2022.02.22 |
코드업(codeup) 4861 : 방 배정 C언어 (0) | 2022.02.22 |
코드업(codeup) 4816 : 전자레인지 C언어 (0) | 2022.02.22 |
코드업(codeup) 3008 : 일곱 난쟁이 C언어 (0) | 2022.01.29 |
댓글