[programmers] 배열 만들기 2 - JavaScript

정수 l과 r 사이에서 0과 5로만 이루어진 정수를 오름차순으로 저장한 배열을 반환하는 문제입니다. 주어진 조건에 따라 반복문과 조건문을 사용하여 문제를 해결할 수 있습니다.
Jan 06, 2024
[programmers] 배열 만들기 2 - JavaScript

문제 설명

정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.

제한사항

  • 1 ≤ l ≤ r ≤ 1,000,000

입출력 예

l
r
result
5
555
[5, 50, 55, 500, 505, 550, 555]
10
20
[-1]

입출력 예 설명

입출력 예 #1
  • 5 이상 555 이하의 0과 5로만 이루어진 정수는 작은 수부터 5, 50, 55, 500, 505, 550, 555가 있습니다. 따라서 [5, 50, 55, 500, 505, 550, 555]를 return 합니다.
입출력 예 #2
  • 10 이상 20 이하이면서 0과 5로만 이루어진 정수는 없습니다. 따라서 [-1]을 return 합니다.

solution.js

function solution(l, r) { const result = []; // 반복문의 범위 설정 for (let i = l; i <= r; i++) { // 배열 내의 객체를 문자열로 바꾼 뒤 각 자릿수를 확인, 5와 0만 있을 경우 push if ([...String(i)].every(num => num === "0" || num === "5")) { result.push(i); } } // 아무 숫자도 없다면 -1 반환 return result.length > 0 ? result : [-1]; }
 

핵심 키워드

  • 비구조화 할당( … )을 통해 배열[] 안의 값이나 객체{} 안의 값에 접근할 수 있다.
  • every() 함수는 배열의 모든 요소가 조건을 만족하는지 검사하여 boolean 값을 리턴한다.
 

결론!

해당 문제를 풀면서 …과 every() 함수를 사용하는 문법을 익힐 수 있었다.
 
Share article

More articles

See more posts
RSSPowered by inblog