Problem
3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.

정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요.

Solution
function solution(n) {
const m = [];
for(let i = 1; i <= 100; i++){
if (i % 3 !== 0 && !(String(i).includes('3'))) m.push(i);
}
return m[n - 1];
}
첫번째 오류 발생!
- 테스트 코드는 성공했으나 제출 후 히든 코드에서 실패했다. 찾아보니
- n이 최대 100이 될 수 있는데 만약 n이 100이 되었을 때 m의 99번째 인덱스를 지닌 요소가 return 되어야하는데 없어서 undefined가 나옴 (m은 55개밖에 없다..)
function solution(n) {
const m = [];
let i = 1;
while (true) {
if (i % 3 !== 0 && !(String(i).includes('3'))) m.push(i);
i++;
if(m[99] != undefined) return m[n - 1];
}
}
while문으로 m[99]의 요소가 생길 때까지 계속 반복되도록 해줬다
'프로그래머스 (JS) > Lv. 0' 카테고리의 다른 글
[Programmers] 120863번 - 다항식 더하기 (0) | 2023.03.10 |
---|---|
[Programmers] 120812번 - 최빈값 구하기 (0) | 2023.03.10 |
[Programmers] 120921번 - 문자열 밀기 (0) | 2023.03.09 |
[Programmers] 120880번 - 특이한 정렬 (0) | 2023.03.09 |
[Programmers] 120878번 - 유한소수 판별하기 (0) | 2023.03.09 |