천진난만 코딩 스토리
1-6. 홀수 본문
-코드 1-
function solution(arr) {
let answer = [];
let sum = 0,
min = 1000;
for (let i = 0; i < arr.length; i++) {
if (arr[i] % 2 === 1) {
sum += arr[i];
if (arr[i] < min) min = arr[i];
}
}
answer.push(sum);
answer.push(min);
return answer;
}
let arr = [12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));
-풀이과정 1-
let arr = [ ]; 를 하여
입력되는 수를 배열함.
function solution(arr) 를 하여
배열을 불러오고
let answer = [ ]; 를 하여
answer를 배열해줌.
(배열하는 이유는, 마지막에 return을 해주어야 하는데
return은 한번에 하나밖에 받지 못하므로 answer을 배열한거임.)
let sum = 0, min = 1000; 를 하여
sum에 0을 주고 min에 매우 큰 수를 넣어줌.
for (let i = 0; i < arr.length; i++) 를 하여
let i = 0 을 하여 i에 0을 넣어주고
i < arr.length 를 하여 i가 arr의 배열의 길이보다 적을 때에만 반복하게 함.
i++ 를 하여 i가 1씩 늘어나면서 반복하게 함.
if (arr[i] % 2 === 1) 를 하여
만약 arr[i] 를 2로 나누었을 때 나머지가 1이라면
즉, 홀수라면
sum += arr[i]; 를 하여
sum = sum + arr[i]를 해줌.
if (arr[i] < min) min = arr[i]; 를 하여
만약 arr[i]가 min보다 작다면 min에 arr[i]를 넣어줌.
answer.push(sum); 를 하여
answer에 sum을 추가하고
answer.push(min); 를 하여
answer에 min을 추가함.
-코드 2-
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));
-풀이과정 2-
다른 코드는 위의 풀이와 같음.
for(let x of arr) 를 하여
arr을 여러번 반복하여 변수 x에 할당함.
if(x%2===1) 를 하여
만약 x를 2로 나누었을 때 1이라면
즉, 홀수라면
sum += x; 를 하여
sum = sum + x 를 해줌.
if(x<min) min=x; 를 하여
만약 x가 min 보다 작다면 min에 x를 넣어줌.
'코딩테스트.js > 자바스크립트 알고리즘 문제풀이 입문 (인프런)' 카테고리의 다른 글
1-8. 일곱 난쟁이 (0) | 2022.12.27 |
---|---|
1-7. 10부제 (0) | 2022.12.24 |
1-5. 최솟값 구하기 (0) | 2022.12.21 |
1-4. 1부터 N까지 합 출력하기 (0) | 2022.12.20 |
1-3. 연필 개수 (0) | 2022.12.19 |