728x90

헛간 청약이라는 내용을 보고 처음에는 뭐지 하는 생각이 들었던 문제입니다.

그리고 조금 헤멨던 문제입니다.

먼저 헛간 청약의 문제 링크는 

https://www.acmicpc.net/problem/19698

 

19698번: 헛간 청약

$1 \le N, W, H, L \le 1,000$

www.acmicpc.net

여기에서 문제를 볼 수 있습니다.

#include <stdio.h>

int main(void){
    int N;
    int W,H;
    int L;
    int room,num;
    scanf("%d %d %d %d", &N, &W, &H, &L);
    room= (W/L)*(H/L);
    if(room>N) printf("%d", N);
    else printf("%d", room);
    return 0;
}

코드는 매우 짧습니다.

그렇게 꼬아진 코드는 아니기 때문입니다. 

그리고 저는 구분 쉽게 int를 4번 선언했지만 한줄로 줄일 수도 있습니다.

 

먼저 입력을 받아서 저장을 시킵니다.

그리고 들어가는 소의 개수를 구해야 합니다.

여기서 살짝 헤맸었는데 단순히 계산을 하면 안되는 문제였습니다.

 

처음에는 W*H-L*L을 하였습니다.

이것은 테스트 케이스에서도 값이 나오지 않습니다.

정사각형으로 이루어진다는 조건을 무시하였기 때문입니다.

 

그렇기 때문에 가로, 세로 각각 나누어 주는 것이 필요합니다.

그리고 if문을 써주어야 합니다.

소의 수가 헛간에 들어갈 수 있는 수보다 클 수도 있고

작을 수도 있기 때문입니다.

 

이 점을 고려해서 짜면 아주 짧게 코드를 짤 수 있습니다.

 

728x90

+ Recent posts