Minwoo Dev.

[백준 19698번] 헛간 청약 - C99 본문

백준

[백준 19698번] 헛간 청약 - C99

itisminu 2023. 6. 3. 16:05
728x90
반응형
SMALL

W x H 칸에 1마리당 L x L 을 차지하는 소를 몇 마리나 넣을 수 있는가에 대한 문제이다.

#include<stdio.h>
#include<math.h>

int main(void)
{
    int n,w,h,l;
    scanf("%d %d %d %d",&n,&w,&h,&l);

    n = floor((w*h)/(l*l)-0.5);
    printf("%d\n",n);

    return 0;
}

 

처음에 문제를 잘못 이해하여 W x H 값을 L x L 로 나누어 소수점을 떼는 것이 이 문제의 해결 방식이라 생각하였다.

- 위의 0.5를 뺀 값에 대해 floor 함수를 사용한 것은 floor 함수가 반올림을 하는 것인지 내림을 하는 것인지 명확한 작동 방식을 알지 못하였기 때문에 시도하던 코드이다.

하지만 위와 같은 방식으로 제출한 결과 오답이라는 것을 알고 문제를 다시 읽고 작성했다.

#include<stdio.h>

int main(void)
{
    int n,w,h,l;
    scanf("%d %d %d %d",&n,&w,&h,&l);

    int result = (int)(w/l) * (int)(h/l);

    if(result>n){
        printf("%d\n",n);
    }
    else{
        printf("%d\n",result);
    }

    return 0;
}

 

가로, 세로를 각각의 값으로 보고 L로 각각 나눈 몫을 가지고 가로세로를 곱하니 정답이 나왔다.

그러면 소들의 수인 n은 왜 입력받은건지 의문이 들어 생각해 본 결과 마지막 부분의 코드를 추가하였다.

게산한 결과값이 n보다 크면 n을 출력하고, n보다 작으면 result를 출력하게 작성하였다.

728x90
반응형
LIST