728x90
▶문제 : 방 배정하기 (codeup.kr)
▶코드 작성
#include <stdio.h>
int main()
{
int room[3], n, tmp;
scanf("%d %d %d %d", &room[0], &room[1], &room[2], &n);
for (int i = 0; i * room[0] <= n; i++)//room[0]방이 들어갈 만큼 반복
{
for (int j = 0; i * room[0] + j * room[1] <= n; j++)
{//room[0]방과 room[1]방이 들어갈 만큼 반복
tmp = n - i * room[0] - j * room[1];//n에서 room[0], room[1]방에 들어간 수를 뺌
if (tmp % room[2] == 0)//room[2]방에 들어가서 딱 떨어지면 1출력
{
printf("1");
return 1;
}
}
}
printf("0");
return 0;
}
▶해석
첫 번째 반복문은 room [0] 방이 필요한 최대 개수만큼 반복하고, 두 번째 반복문은 room [0] 방의 개수와 room [1] 방의 최대 개수만큼 반복하였다.
tmp변수에 n에서 room[0]방 개수와 room [1] 방 개수를 뺀 값을 저장하고, tmp을 room [2]로 나눈 나머지가 0이면 3종류의 방으로 인원수에 맞추어 배정할 수 있다는 것이므로 1을 출력하여 종료하고 반복문이 끝나도 없으면 0을 출력하여 종료한다.
728x90
'코드업(codeup) > C' 카테고리의 다른 글
코드업(codeup) 2652 : 극장 좌석 배치 2 C언어 (0) | 2022.03.04 |
---|---|
코드업(codeup) 2651 : 극장 좌석 배치 1 C언어 (0) | 2022.03.03 |
코드업(codeup) 4866 : 방 배정 (중등) C언어 (0) | 2022.02.22 |
코드업(codeup) 4861 : 방 배정 C언어 (0) | 2022.02.22 |
코드업(codeup) 4816 : 전자레인지 C언어 (0) | 2022.02.22 |
댓글