저장을 습관화
프로그래머스 LV.0 저주의 숫자 3 본문
프로그래머스 LV.0 저주의 숫자 3
https://school.programmers.co.kr/learn/courses/30/lessons/120871
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 명
저주의 숫자 3
2. 문제 설명
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 함수를 완성해주세요.
3. 제한 사항
1 ≤ n ≤ 100
4. 예시
n | result |
15 | 25 |
40 | 76 |
5. 기본 제공 코드
function solution(n) {
var answer = 0;
return answer;
}
6. 제출한 내 답
const solution = (n) => {
let answer = 0;
for (i = 1; i <= n; i++) {
answer += 1;
while (answer % 3 === 0 || answer.toString().includes('3')) {
answer += 1;
}
}
return answer;
};
6-2. VSC에 작성한 내용
const solution = (n) => {
// 조건 1. 3의 배수이면 안됨
// 조건 2. 3을 포함해도 안됨
// 조건 3. 조건 1과 조건 2를 피한 결과가 3의 배수이거나 3을 포함하고 있어선 안됨
let answer = 0;
for (i = 1; i <= n; i++) {
answer += 1;
while (answer % 3 === 0 || answer.toString().includes('3')) {
answer += 1;
}
}
return answer;
};
// test
console.log(solution(15));
console.log(solution(40));
7. 특이사항
없음
8. 다른 사람이 작성한 답
8-1.
function solution(n) {
return [...Array(n * 3)]
.map((_, i) => i + 1)
.filter((num) => num % 3 !== 0 && !num.toString().includes("3"))[n - 1];
}
'코딩 테스트 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 LV.0 유한소수 판별하기 (0) | 2024.02.25 |
---|---|
프로그래머스 LV.0 평행 (0) | 2024.02.24 |
프로그래머스 LV.0 다항식 더하기 (0) | 2024.02.20 |
프로그래머스 LV.0 정수를 나선형으로 배치하기 (0) | 2024.02.19 |
프로그래머스 LV.0 OX퀴즈 (0) | 2024.02.19 |