[프로그래머스 | Javascript] 코딩테스트 입문 - 저주의 숫자 3

박기영·2022년 11월 16일
0

프로그래머스

목록 보기
97/159
post-custom-banner

solution

function solution(n) {
    let ans = 0;
    
    for(let i = 1; i <= n; i++){
        ans += 1;
        
        while(true){
            if(ans % 3 === 0 || String(ans).includes("3")){
                ans += 1;
                
                continue;
            }
            
            break;
        }
    }
    
    return ans;
}

이 문제의 관건은 연속적인 처리라고 생각한다.
3이 들어간 숫자, 3의 배수인 숫자는 모두 허용되지않는다.

따라서, 두 조건 중 하나를 만족해서 1이 증가된 숫자가 또 다시 조건을 만족하게 되는 경우를 생각해야한다.

이로 인해서 단순 if문을 나열하는 것으로는 문제가 해결되지않는다.
while문 안에 if를 넣어서 해당 조건을 만족하지 않을 때까지 1을 증가시키는 것으로 해결했다.

profile
나를 믿는 사람들을, 실망시키지 않도록
post-custom-banner

0개의 댓글