자료구조 & 알고리즘/코딩테스트

[JavaScript/코딩테스트] 코테 입문 <저주의 숫자 3>

칠구의 스터디 2024. 3. 29. 14:21

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 출처 

 

솔직히 이 문제를 처음 보고 막혀버리고 말았다 ㅠㅠ

첨엔 공식이 있나 생각을 해보다가 계속계속 기존 수를 불러와서 문제를 푸는

재귀함수를 생각하게 되었다

 

https://selfdevelopcampus.tistory.com/entry/javascript-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%A0%80%EC%A3%BC%EC%9D%98-%EC%88%AB%EC%9E%90-3

 

javascript 코딩테스트 - 저주의 숫자 3

문제 설명 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 10진법3x 마을에서 쓰는 숫자10진법3x 마을에

selfdevelopcampus.tistory.com

답 출처

 

function solution(n) {
    var answer = 0;

    //3이랑 3의 배수가 포함되는 지 체크하는 과정
    const check = (k) => {
        const num = String(k).split('');
        if(k % 3 ===0 || num.includes('3')){
            answer ++
            check(answer);
        }
    }

    //반복문
    for(let i = 0; i < n; i ++){
        answer ++;
        check(answer);
    }
    return answer;
}

 

먼저 3이나 3의 배수가 포함되었시 answer ++ 을 통해 answer 값을 올려주고 자기자신을 다시 호출한다

이 과정을 for문을 통해 원하는 값을 찾을 때 까지 반복하는 코드이다

 

솔직히 말하면 나는 이문제를 풀지 못하고 위의 블로그를 보고 이해를 할 수 있었다 ㅜㅜ

저분은 쉽게 푸신 거 같은데 내가 아직 많이 부족하다는 것을 알수 있었던 문제였던 거 같다