TIL16-07 빈 배열 확인 방법

김태혁·2023년 1월 27일
0

TIL

목록 보기
56/205
  • 문제 설명
    array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
    divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
  • 풀이 과정
    • 배열을 순회하여 divior의 나머지가 0인 요소들을 찾으면 될 것 같았다.
    • 요소들을 찾아서 배열에 까지 잘 넣었으나 else 조건을 둘 경우 나머지가 있는 요소들 조차 배열에 들어가는 현상이 발생하여 고민을 하게 되었다.
    • else 조건을 없애면 나머지가 없는 배열에서는 빈 배열이 반환되었다.
    • 그래서 빈 배열을 확인해서 결과값을 도출하면 될 것이라 생각했다.
    • 빈 배열일 경우 아래처럼 길이가 0임을 이용하면 된다.
 if ( answer.length == 0 ) 
  • 아래 코드가 완성 된 코드이다.
function solution(arr, divisor) {
    var answer = [];
    for (let i = 0; i < arr.length; i++) {
        if ( arr[i]%divisor === 0) {
            answer.push(arr[i]);
        }         
    }
    if ( answer.length == 0 ) { // answer가 빈 배열이면 길이는 0이므로 0일때 -1을 push한다.
            answer.push(-1);
        }
    return answer.sort((a,b) => (a-b));
}

console.log(solution([3,2,6],	10));
profile
도전을 즐기는 자

0개의 댓글