[Programmers] n의 배수 고르기

그래도 해야지·2023년 4월 17일
0

Programmers

목록 보기
13/40
post-thumbnail

문제 설명
정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.

🤔 해설 1

이렇게 하니까 계속 인덱스만 출력이 돼서 좀 애를 먹었음
그거 빼곤 쉽게 풀었다!

function solution(n, numlist) {
    const answer = [];
    for(let i = 0; i <= numlist.length; i++) {
        // 얘네만 출력하기 
        if(numlist[i] % n === 0) {
        //console.log('n의 배수')
        console.log(answer.push(i))
    } else {
        console.log('n의 배수가 아님')
    }
    }
    console.log(answer)

여기서 answer.push(i) 이걸 answer.push(numlist[i]) 이걸로 바꿔줬어야했다. 그러니 배열의 요소가 잘 출력이 되었다.

✅ 답

function solution(n, numlist) {
    const answer = [];
    for(let i = 0; i <= numlist.length; i++) {
        if (numlist[i] % n === 0) {
        answer.push(numlist[i])
    } 
}
    return answer
}

🤔 해설 2

다른 사람들 풀이를 보니 filter로 아주 간결하게 풀어서 나도 풀어보았다.

function solution(n, numlist) {
    const answer = [];
    for(let i = 0; i <= numlist.length; i++) {
        // 얘네만 출력하기 
        if(numlist[i] % n === 0) {
        //console.log('n의 배수')
        console.log(answer.push(i))
    } else {
        console.log('n의 배수가 아님')
    }
    }
    console.log(answer)

여기서 answer.push(i) 이걸 answer.push(numlist[i]) 이걸로 바꿔줬어야했다. 그러니 배열의 요소가 잘 출력이 되었다.

✅ 답

function solution(n, numlist) {
    return numlist.filter((num) => num % n === 0)
}

0개의 댓글