Problem Solution/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JS] ์ง์ˆ˜ ํ™€์ˆ˜ ๊ฐœ์ˆ˜

yuri lee 2023. 9. 2. 15:08
๋ฐ˜์‘ํ˜•

Problem Description

์ •์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฆฌ์ŠคํŠธ num_list๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, num_list์˜ ์›์†Œ ์ค‘ ์ง์ˆ˜์™€ ํ™€์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

Restrictions

  • 1 โ‰ค num_list์˜ ๊ธธ์ด โ‰ค 100
  • 0 โ‰ค num_list์˜ ์›์†Œ โ‰ค 1,000

 

Input/Output Example

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1 [1, 2, 3, 4, 5]์—๋Š” ์ง์ˆ˜๊ฐ€ 2, 4๋กœ ๋‘ ๊ฐœ, ํ™€์ˆ˜๊ฐ€ 1, 3, 5๋กœ ์„ธ ๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #2 [1, 3, 5, 7]์—๋Š” ์ง์ˆ˜๊ฐ€ ์—†๊ณ  ํ™€์ˆ˜๊ฐ€ ๋„ค ๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค.

 

My solution

function solution(num_list) {
    let result = []
    const even = num_list.filter((x) => x%2 == 0);
    const odd = num_list.filter((x) => x%2 !== 0);
    result.push(even.length)
    result.push(odd.length)
    return result
}

 

Another solutions

function solution(num_list) {
  return [
    num_list.filter((num) => num % 2 === 0).length,
    num_list.filter((num) => num % 2 === 1).length,
  ];
}
function solution(num_list) {
    var answer = [0,0];

    for(let a of num_list){
        answer[a%2] += 1
    }

    return answer;
}

https://school.programmers.co.kr/learn/courses/30/lessons/120824

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...of

 

for...of - JavaScript | MDN

for...of ๋ช…๋ น๋ฌธ์€ ๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด (Array, Map, Set (en-US), String, TypedArray, arguments ๊ฐ์ฒด ๋“ฑ์„ ํฌํ•จ)์— ๋Œ€ํ•ด์„œ ๋ฐ˜๋ณตํ•˜๊ณ  ๊ฐ ๊ฐœ๋ณ„ ์†์„ฑ๊ฐ’์— ๋Œ€ํ•ด ์‹คํ–‰๋˜๋Š” ๋ฌธ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ˜๋ณต ํ›„ํฌ๋ฅผ ํ˜ธ์ถœํ•˜๋Š”

developer.mozilla.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

 

Array.prototype.filter() - JavaScript | MDN

filter() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ํ•จ์ˆ˜์˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org

 

๋ฐ˜์‘ํ˜•