7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최소값을 찾는 프로그램을 작성하세요.
예를 들어 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면 이들 중 홀수는 77, 41, 53, 58이므로 그 합은
77 + 41 + 53 + 85 = 256이 되고,
41 < 53 < 77 < 85 이므로 홀수들 중 최소값은 41이 된다.
[입력설명]
첫 번째 줄에 자연수 7개가 주어진다. 주어지는 자연수는 100보다 작다. 홀수가 한 개 이상 반드시 존재한다.
[출력설명]
첫째 줄에 홀수들의 합을 출력하고, 둘째 줄에 홀수들 중 최소값을 출력한다.
12 77 38 41 53 92 85
256
41
let answer=[]
)x%2===1
: 홀수의 조건 (x%2===0
: 짝수의 조건)answer.push(sum)
: answer배열에 sum변수를 push(집어넣는다)(1) 홀수 찾기
(2) 홀수 합 구하기
(3) MATH.min 내장함수 활용하여, 홀수 최소값 구하기
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let answer=[]; //답 두개를 리턴해야하기 때문에 배열로 초기화
let sum=0, min=Number.MAX_SAFE_INTEGER;
//for of 반복문: 요소의 값 반복
//==과 ===중 하나로 통일할 것!(=== 추천)
for(let x of arr){
if(x%2===1){
sum+=x; //할당연산자가 좀 더 빠름(권장)
if(x<min) min=x; //첫번째 인덱스에서는 무조건 조건식 만족!(MAX_SAFE_INTEGER로 min을 큰 숫자로 초기화했기 때문)
}
}
answer.push(sum);
answer.push(min);
return answer;
}
arr=[12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));
</script>
</body>
</html>
256
41
9/10
sum=0 하지 않으면, NaN으로 출력됨(초기화안한것에 누적해서 숫자를 더하면, NaN이 됨)