
7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요.
function solution(arr){
let answer, min=Number.MAX_SAFE_INTEGER;
answer = arr[0];
for (i=1; i<arr.length; i++) {
answer = answer < arr[i] ? answer : arr[i];
}
return answer;
}
let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
function solution(arr){
let answer, min=Number.MAX_SAFE_INTEGER;
for(let i=1; i<arr.length; i++){
if(arr[i]<min) min=arr[i];
}
answer=min;
return answer;
}
let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최소값을 찾는 프로그램을 작성하세요.
function solution(arr){
let answer=[];
let odd = [];
let min, total;
for (i=0; i<arr.length; i++) {
if (arr[i]%2===1) odd.push(arr[i]);
}
min = odd[0];
total = odd[0];
for (i=1; i<odd.length; i++) {
min = min < odd[i] ? min : odd[i];
total += odd[i];
}
answer.push(total, min);
return answer;
}
arr=[12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));
function solution(arr){
let answer=[];
let sum=0, min=1000;
for(let x of arr){
if(x%2===1){
sum+=x;
if(x<min) min=x;
}
}
answer.push(sum);
answer.push(min);
return answer;
}
arr=[12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));
한번의 for문에 홀수 판별과 최솟값 비교를 진행하는 정답 풀이에 비해, 나의 풀이는 for문을 통해 홀수의 array를 판별하고, 해당 array의 길이만큼 최솟값 비교를 위한 for문을 다시 진행하기 때문에 비효율적인 것 같다. 또한, let x of arr을 통해 반복문을 진행할 수 있다는 점도 참고해야겠다.