✏️ 문제 설명
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입니다.
✏️ 문제 풀이
- 내 풀이
function solution(n) {
let result = 0;
for (let i = 1; i <= n; i++) {
result += 1;
while (result % 3 === 0 | result.toString().includes(3)) {
result += 1;
}
}
return result;
}
n이 3 이상 일 때부터 하나씩 증가해서 반환하는데, 추가로 답이 3의 배수이거나 3을 포함하면 1을 더 더해줘 반환한다.
- 다른 풀이
function solution(n) {
return [...Array(n * 3)]
.map((_, i) => i + 1)
.filter((num) => num % 3 !== 0 && !num.toString().includes("3"))[n - 1];
}
공부하면서 적는 글입니다. 공감과 피드백 환영합니다 🙂
'Algorithms > 코테 문풀' 카테고리의 다른 글
[프로그래머스] 로그인 성공? - JavaScript / Map 객체와 관련 메서드 (0) | 2023.01.12 |
---|---|
[프로그래머스] 등수 매기기 - JavaScript / ES6 ... 연산자란? 사용 예시 (0) | 2023.01.12 |
[프로그래머스] 유한소수 판별하기 - JavaScript / toFixed() 메서드 (0) | 2023.01.11 |
[프로그래머스] 외계어 사전 - JavaScript (0) | 2023.01.10 |
[프로그래머스] 숨어있는 숫자의 덧셈(2) - JavaScript (0) | 2023.01.10 |