저주의 숫자 3

Haizel·2023년 4월 10일
0

🧬 알고리즘 풀이

목록 보기
6/53
post-thumbnail

문제 설명

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

10진법3x 마을에서 쓰는 숫자10진법3x 마을에서 쓰는 숫자
1168
22710
34811
45914
571016

정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요.

입출력 예

nresult
1525
4076

첫번째 풀이

function solution(n) {
let result = 0;
let count = 1;
    while(count <= n){
        result ++;
        if(result%3 === 0 || String(result).includes('3'))
            result ++;
            count ++;
    }
    return result;
}
💡 코드 풀이
  • n까지 반복하며 → 만약 3의 배수(%3 === 0)거나 숫자 3을 포함하는 경우(.includes('3')) result에 +1을 해주었다.
💡 문제점

if문으로 조건을 거니 테스트 케이스가 통과되지 않았다.


최종 풀이

function solution(n) {
let result = 0;
let count = 1;
    while(count <= n){
        result ++;
        while(result%3 === 0 || String(result).includes('3'))
            result ++;
            count ++;
    }
    return result;
}

💡 포인트

while 문으로 바꾸니 테스트가 통과되었다.

profile
한입 크기로 베어먹는 개발지식 🍰

0개의 댓글