본문 바로가기
알고리즘(js)

알고리즘 문제 (자바스크립트)

by 왕쵸보개발자 2024. 5. 9.

▶문제 설명 

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.

 

 

*문제풀이

solution함수를 실행시키면 위와 같이 결과값을 가진다.

arr라는 배열과 divisor라는 나눌값 즉 정수가 인자로 들어있다.

우리는 filter메소드를 사용해서 arr배열내 요소들이 divisor로 나눈 나머지값이 0인 요소들을 반환하여 answer변수에 할당할것임.

나머지 0인 요소란 값을 나눴을때 딱 맞게 떨어지는 요소를 찾는 것이라고 생각하면 된다.

answer 변수에는 나머지 0인 값들만 배열로 구성되어있을 것이다.

삼항연산자를 이용하여 answer안에 length가 0일때 즉, 빈배열[]일때 -1를 반환하면 될것이고, 안에 배열들이 있을때는 

sort메소드를 이용하여 정렬을 해주면 된다. sort에서 콜백함수 인자를 이용하여 첫번째 인자에서 두번째 인자를 뺄경우

오름차순으로 정렬이 된다.

이를 이용하여 식을 세우면 밑에 처럼 구현할 수 있다. 

이상입니다.