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
을 통해 반복문을 진행할 수 있다는 점도 참고해야겠다.