프로그래머스 120871 : 저주의 숫자 3 - Javascript

프로그래머스 120871 : 저주의 숫자 3 - Javascript

2023-03-04
0
views

문제 설명

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

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

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


제한사항

  • 1 ≤ n ≤ 100

입출력 예

nresult
1525
4076
  • 예제 #1
    15를 3x 마을의 숫자로 변환하면 25입니다.

  • 예제 #2
    40을 3x 마을의 숫자로 변환하면 76입니다.


풀이 과정

먼저 반복문을 만들어 answern값이 될때까지 1씩 증가시킵니다. 이 때, answer가 3의 배수거나 3이 포함되는 경우에 추가로 증가시켜 3x마을의 저주를 피하도록 작성했습니다.

function solution(n) {
  let answer = 0;
 
  //actual은 answer이 실제 의미하는 값
  //actual이 n이 될 때 까지 answer를 증가시시킴
  for (let actual = 1; actual <= n; ++actual) {
    answer++;
 
    //answer이 3의 배수거나, 3이 포함된 숫자인 경우 아니게 될때 까지 추가로 증가시킴
    while (answer % 3 === 0 || `${answer}`.includes('3')) {
      answer++;
    }
  }
  return answer;
}