
문제 설명
정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.
l ≤ r ≤ 1,000,000| l | r | result |
|---|---|---|
| 5 | 555 | [5, 50, 55, 500, 505, 550, 555] |
| 10 | 20 | [-1] |
입출력 예 #1
입출력 예 #2
function solution(l, r) {
const result = [];
for (let i = l; i <= r; i++) {
// 숫자를 문자열로 변환하여 모든 문자가 "0" 또는 "5"인지 확인
const str = i.toString();
if ([...str].every(char => char === '0' || char === '5')) {
result.push(i);
}
}
// result 배열이 비어 있으면 [-1] 반환, 그렇지 않으면 result 반환
return result.length === 0 ? [-1] : result;
}
console.log(solution(5,555))
console.log(solution(10,20))
result 배열 초기화:result 배열을 초기화하여 조건을 만족하는 정수를 저장할 준비를 합니다.for (let i = l; i <= r; i++)를 통해 l에서 r까지 모든 정수를 순회합니다.i를 문자열로 변환: i.toString()[...str].every(char => char === '0' || char === '5')는 문자열의 모든 문자가 '0' 또는 '5'인지 확인합니다.result.push(i)로 result 배열에 추가합니다.result 배열이 비어 있으면 [-1]을 반환합니다.result 배열을 반환합니다.l = 5, r = 555
// 범위 내 숫자 중 "0"과 "5"로만 이루어진 숫자:
[5, 50, 55, 500, 505, 550, 555]
// 결과:
[5, 50, 55, 500, 505, 550, 555]
l = 10, r = 20
// 범위 내 숫자 중 "0"과 "5"로만 이루어진 숫자 없음
// 결과:
[-1]