본문 바로가기

열정가득한 개발자의 이야기/프로그래머스 문제

프로그래머스 코딩테스트 입문 (짝수는 싫어요)

안녕하세요!

코테를 안 한 지.. 뭐.. 원래도 잘 안 했지만.. 그래서 다시 풀어보기 시작하려고요!

버전은 자바스크립트이고 레벨 0부터 하루에 2개 정도 풀어서 리뷰하려고 합니다! 

목표는 올해 프로그래머스 문제 다 풀고 pccp 4급 따는 거예요..!

목표는 높게 잡으라고 했으니..ㅎㅎㅎ 

 

코테 정말 못하는데.. 처음부터 잘하는 사람이 어디 있겠습니까

저 나름대로 열심히 해서 최대한의 설명을 해보도록 하겠습니다.

 

자 그러면 처음 문제 갑니다.

프로그래머스 짝수는 싫어요 문제

자! 문제는 정말 간단한 홀수 구하기 문제입니다.

이 문제에서 알아야 할 것은 

1) 홀수 구하는 방법

2) 배열에 새로운 내용 더하는 방법 

3) 한 번이 아닌 정해진 범위의 숫자를 계속 돌리며 값비교하는 법

 

1) -> 홀수 구하는 방법은 '%'이 연산자를 쓰면 됩니다. 해당 연산자는 나머지를 구해주는 건데 홀수를 구하려면 어떻게 해야 할까요?

맞습니다. 짝수로 나누고, 그 후, 나머지가 1이면 홀수인 것이죠. 

2) -> 배열에 새로운 내용을 더하는 방법은 push라는 메서드가 있습니다. 빈 배열. push(넣을 값)으로 하시면 빈 배열에 값이 하나씩 들어갑니다.

3) -> 단편적으로 한 숫자만 비교해서 빈 배열에 값을 넣으면 안 되겠죠? 예를 들어 3 % 2 == 1이니까 빈배열에 3 만들어가고.. 이러면 안 되잖아요! 그러면 어떻게 해야 할까요? 바로 for loop를 쓰시면 됩니다. 다른 방법도 있긴 할 텐데 전 for가 편해서 이걸 썼습니다. 

for가 돌아가는 범위는 n값이어야 하고, 한 번 돌고 다음값으로 넘어가야 하니까 ++가 들어가야 합니다. 

 

그래서 이렇게 생각한 저의 답안지는 아래와 같습니다. 

 

정답 :

 

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

 

정말 간단하죠?

레벨 0인데.. 절절맬까 봐 정말 걱정했는데.. 그래도 이 문제는 바로 돼서 다행이네요... 정말..

못 풀어서 자괴감 느낄까 봐 걱정했는데

역시 걱정할바엔 움직이는 게 나은 것 같습니다. 

그럼 전 다음 문제 풀러 가볼게요!