#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 |