본문 바로가기

백준

10707 수도요금

 

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int a, b, c, d, p;
    scanf("%d %d %d %d %d", &a, &b, &c, &d, &p);
    int coast_x = p * a;
    int coast_y = b;
    if(p > c)
        coast_y += d * (p - c);
    printf("%d", min(coast_x, coast_y));
}

 

입력을 정의했다

어떻게 풀지 적어봤다. 쉬워서 할말이 없다

 

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int a, b, c, d, p;
    scanf("%d %d %d %d %d", &a, &b, &c, &d, &p);
    int coast_x = p * a;
    int coast_y = b + d * max(p - c, 0);

    printf("%d", min(coast_x, coast_y));
}

조건문 대신에 이런 식으로 max를 사용해서 더 깔끔하게 짤 수 있다!!

p가 c를 초과하지 않으면 음수가 나올 것이므로 그때는 0이 된다!!!

나름 max 잘 쓴다 생각했는데 아직 멀었구나ㅎㅎ 아무튼 이렇게도 쓸 수 있다니 신기하다. 

'백준' 카테고리의 다른 글

1297 TV크기  (0) 2019.10.02
2355 시그마  (0) 2019.10.01
5532 방학 숙제  (0) 2019.09.30
10162 전자레인지  (0) 2019.09.30
2480 주사위 세 개  (0) 2019.09.30