문제
풀이
1. filter()를 이용해 나누어 떨어지는 수만 걸러낸다.
2. 삼항 연산자를 이용해 나누어 떨어지는 수가 없으면 -1을 배열로 반환하고 그렇지 않으면 filter로 걸러낸 수를 오름차순으로 정렬한 후 배열로 반환시키낟.
결과
function solution(arr, divisor) { var answer = arr.filter(x => x % divisor === 0); return answer.length === 0 ? [-1] : answer.sort((a,b)=> a-b); }
비교
처음에는 for문을 이용해서 문제를 해결했지만 두 번째 방법에는 filter()와 삼항 연산자를 사용하여서 풀었다.
예전에는 자바를 사용했지만 현재, 자바스크립트를 사용하니 여기서 제공하는 메소드나 함수들이 더 많은 것 같아서 유용한 언어인 것 같다. 배열 문제를 풀 때 자바 같은 경우에는 배열 방의 수를 정해줘야 되지만 자바스크립트는 answer = [ ] 이 하나로 해결 되어서 매우 편리한 것 같다. 또한 배열에 값을 집어넣는 경우에 자바 스크립트는 answer.push()로 간단하게 해결할 수 있어서 좋은 것 같다. 앞으로는 자바스크립트로 코딩 테스트를 풀어나가도록 해야겠다!
'코딩 테스트' 카테고리의 다른 글
[ 프로그래머스 ] 문자열 내 p와 y의 개수 (0) | 2024.05.07 |
---|---|
[ 프로그래머스 ] 자연수 뒤집어 배열 만들기 (0) | 2024.05.06 |
[ 프로그래머스 ] 서울에서 김서방 찾기 (0) | 2024.05.06 |
[ 프로그래머스 ] 하샤드 수 (0) | 2024.05.06 |
[ 프로그래머스 ] 평균 구하기 (0) | 2024.05.06 |