주어진 범위 내에서 0과 5로만 이루어진 모든 숫자를 찾아 배열로 반환하는 문제
이 문제는 주어진 범위 l
부터 r
까지의 모든 숫자를 순회하며 조건을 검사하기 위해 반복문을 활용한다.
반복문을 통해 주어진 범위 내의 각 숫자에 접근하여 원하는 조건에 맞는 숫자를 추출할 수 있다.
function solution(l,r){
let answer = [];
for(let i=l; i<=r; i++){
if(i.toString().split('').every(char => char === '0' || char === '5')){
answer.push(i);
}
}
if(answer.length === 0){
answer.push(-1);
}
return answer;
}
i.toString()
숫자 'i'를 문자열로 변환한다. 숫자의 각 자릿수를 문자로 취급하기 위해 이 작업이 필요하다.
.split('')
문자열 변환 후, 변환된 문자열을 한 글자씩 나누어 배열로 만든다.
ex) 숫자 505
는 문자열 "505"로 변환되고, 이후 ["5", "0", "5"]
로 분리된다.
.every(char => char === '0' || char === '5')
.every()
함수는 배열의 모든 요소가 주어진 조건을 만족하면 true
를 반환한다.
여기서는 각 문자가 "0" 또는 "5"인지 확인하는 조건을 사용했다.
따라서, 주어진 숫자의 모든 자릿수가 0 또는 5일 경우에만 true
가 반환된다.