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
반응형
'TIL > 알고리즘' 카테고리의 다른 글
조금 어려운 알고리즘 - 숫자 문자열과 영단어 (1) | 2023.03.20 |
---|---|
아주 중요한 알고리즘 - 문자열 내 마음대로 정렬하기 (0) | 2023.03.20 |
조금 어려운 알고리즘 - 문자열 밀기 (0) | 2023.03.13 |
조금 어려운 알고리즘 - 최소직사각형 (1) | 2023.03.13 |
아주 쉬운 알고리즘 - 최댓값 만들기 (2) (0) | 2023.03.13 |
댓글