TIL/알고리즘
조금 쉬운 알고리즘 - 저주의 숫자 3
saramnim
2023. 3. 16. 15:50
728x90
기초 알고리즘에 대해 알아보자!
Q. 저주의 숫자 3
문제 설명
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입니다.
solution.js
function solution(n) {
var answer = 0;
var cnt = 0;
for(let i=1; cnt < n; i++){
while(i % 3 === 0 || String(i).includes("3")) i++
cnt++
answer = i
}
return answer;
}
function solution(n) {
var answer = 0;
for(let i=1; i <= n; i++){
answer++
while(answer % 3 === 0 || String(answer).includes("3")) answer++
console.log(answer)
}
return answer;
}
다른 사람의 풀이
function solution(n) {
return [...Array(n * 3)]
.map((_, i) => i + 1)
.filter((num) => num % 3 !== 0 && !num.toString().includes("3"))[n - 1];
}
728x90
반응형