728x90
반응형

1. 문제점

프로그래머스 알고리즘 문제풀이 [짝수는 싫어요]

2. 시도해본 것들

처음엔 쭉쭉 써내려갔다.

다음과 같이 코드를 작성했는데 결과값이 극단적이다.

function solution(n) {
    var answer = [];
    var ex = [];
    for (i=1; i<=n; i++){
        ex[i-1] = i;
        if(n%2 == 1){
            answer.push(ex[i-1]);
        }
    }
    return answer;
}

엥......결과값 왜이래?

 

3. 해결과정

어쩔수 없이 코드 하나하나 주석을 달아가며

돌아가는 과정을 파악했다.

앞으로도 막히면 주석 달아가며 확인해야겠다.

 

4. 알게 된 점

 

나의 문제풀이

function solution(n) {
    var answer = [];
    var ex = [];
    for (i=1; i<=n; i++){
        ex[i-1] = i; //ex[0] = 1;
        if(i%2 == 1){ // 10%2 == 1 (홀수일때만) 현재1           n%2 에서 i%2로 변경
            answer.push(ex[i-1]); // ex[0] = 1 (홀수)를 추가함
        }
    }
    return answer;
}

타인의 문제풀이

 

따로 담아낼 배열변수를 만들지 않고 if문도 없이 작성한 코드.

간단하면서 깔끔하다;

function solution(n) {
    var answer = [];
    for (let i = 1; i<=n; i+=2) answer.push(i)
    return answer;
}

 

728x90
반응형

+ Recent posts