본문 바로가기

백준

10039 평균점수

#include <iostream>

int main() {
    int a;
    int sum = 0;
    
    for(int i  = 0; i < 5; i++){
        scanf("%d", &a);
        if(a < 40)
            a = 40;
        sum += a;
    }
    printf("%d", sum/5);
}

40점보다 작으면 40점으로 처리하므로 조건문을 통해서 40점 이하인 것들을 잡아냈다. 

그런데 이렇게 if문으로 확인하는 것 말고도 <algorithm> 라이브러리의 max와 min을 쓰는 방법도 있다. 

 

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int a;
    int sum = 0;
    
    for(int i  = 0; i < 5; i++){
        scanf("%d", &a);
        sum += max(40, a);
    }
    printf("%d", sum/5);
}

처음에 이코드를 보고 max()함수가 40보다 작은걸 40으로 만들어주나? 했는데, max함수는 인자들을 비교해서 최댓값을 돌려주는 역할을 한다. 저렇게 사용하면 만약 a가 40보다 작으면 40이 더 큰 수가 되므로 40을 반환한다! 이렇게도 사용가능하구나! 신기했다. 

 

만약 여러 값들을 인자로 넣고 싶으면 min({a, b, c}) <- 이런식으로 중괄호를 써주면 된다.

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

1712 손익분기점  (0) 2019.09.29
1212 8진수 2진수  (0) 2019.09.29
8393 합  (0) 2019.09.29
15894 수학은 체육과목 입니다  (0) 2019.09.29
2588 곱셈  (0) 2019.09.29