πŸ’‘Algorithm/λ¬Έμ œν’€κΈ°

JSμ•Œκ³ λ¦¬μ¦˜ | ν™€μˆ˜

μ§€μŒμŒ 2021. 4. 13. 23:39

7개의 μžμ—°μˆ˜κ°€ μ£Όμ–΄μ§ˆ λ•Œ, 이듀 쀑 ν™€μˆ˜μΈ μžμ—°μˆ˜λ“€μ„ λͺ¨λ‘ 골라 κ·Έ 합을 κ΅¬ν•˜κ³ , κ³ λ₯Έ ν™€μˆ˜λ“€ 쀑 μ΅œμ†Œκ°’μ„ μ°ΎλŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”.

μž…λ ₯예제 | 12 77 38 41 53 92 85

좜λ ₯예제 | 256, 41


[λ‚΄κ°€ ν’€μ—ˆλ˜ 방법]

1. ν™€μˆ˜λ₯Ό μ°Ύμ•„μ„œ λ°°μ—΄λ‘œ λ§Œλ“ λ‹€.

2. ν™€μˆ˜λ‘œ κ΅¬μ„±λœ λ°°μ—΄ μ†μ—μ„œ 총 합을 κ΅¬ν•œλ‹€. (forEach λ©”μ†Œλ“œ)

3. ν™€μˆ˜λ‘œ κ΅¬μ„±λœ λ°°μ—΄ μ†μ—μ„œ μ΅œμ†Œκ°’ μ°ΎλŠ”λ‹€.(Math.min λ©”μ†Œλ“œ)

4. μƒˆλ‘œμš΄ 배열을 λ§Œλ“€μ–΄ κ°’ 2개λ₯Ό λ„£μ–΄μ„œ 좜λ ₯ν•œλ‹€. (Array.push λ©”μ†Œλ“œ)

 

function solution(arr){
	let oddNumber = []; // ν™€μˆ˜λ₯Ό μ°Ύμ•„μ„œ κ°’ μ €μž₯
    let answer = []; // κ²°κ³Όλ₯Ό λ³΄μ—¬μ£ΌλŠ” λ°°μ—΄
    let sum = 0; // ν™€μˆ˜λ‘œ κ΅¬μ„±λœ λ°°μ—΄ μš”μ†Œλ“€μ˜ 총합 κ΅¬ν•˜κΈ°
    for(let item of arr){
    	if(item % 2 !== 0) oddNumber.push(item);
        }
    let min = Math.min(...oddNumber);
    oddNumber.forEach((item)=>{
    	sum += item;
    })
    
    answer.push(sum);
    answer.push(min);
    
    return answer;
}

let arr = [12, 77, 38, 41, 53, 92, 85]
console.log(solution(arr));
    

 

 

for ofλ¬Έ : λ°°μ—΄μ˜ 값을 

 

[λ‹€λ₯Έ 풀이방법]

function solution(arr){
	let answer=[];
    let sum=0; min=Number.MAX_SAFE_INTEGER;
    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));