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을 증가시키는 것으로 해결했다.