
프로그래머스 120871 : 저주의 숫자 3 - Javascript
2023-03-04
0
views문제 설명
3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.
10진법 | 3x 마을에서 쓰는 숫자 | 10진법 | 3x 마을에서 쓰는 숫자 |
---|---|---|---|
1 | 1 | 6 | 8 |
2 | 2 | 7 | 10 |
3 | 4 | 8 | 11 |
4 | 5 | 9 | 14 |
5 | 7 | 10 | 16 |
정수 n
이 매개변수로 주어질 때, n
을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤
n
≤ 100
입출력 예
n | result |
---|---|
15 | 25 |
40 | 76 |
-
예제 #1
15를 3x 마을의 숫자로 변환하면 25입니다. -
예제 #2
40을 3x 마을의 숫자로 변환하면 76입니다.
풀이 과정
먼저 반복문을 만들어 answer
를 n
값이 될때까지 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;
}