반응형
문제
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
의식의 흐름
- filter로 divisior 로 나눈 목이 0 인거 걸러주면 끝
- sort로 오름차순 정렬
- 빈 배열 체크하고 처리 => 어떻게 하지? => 검색해보니까 length로 체크하더라.
빈 배열은 자바스크립트에서 'true' 였다. 빈 배열 나타내는게 '',[] 등 많은데 뭔가 이상해서 length로 판단하는게 나을 것 같다.
초기 코드
function solution(arr, divisor) {
const answer = arr.filter((el)=> el%divisor ==0)
if (answer.length === 0 ) { //answer == '' or answer == false 도 가능
answer.push(-1)
}
answer.sort((a,b)=>a-b)
return answer;
}
다른이들의 정답
function solution(arr, divisor) {
var answer = arr.filter(v => v%divisor == 0);
return answer.length == 0 ? [-1] : answer.sort((a,b) => a-b);
}
이분은 length를 길이를 보고 판단하는 3항연산자로 처리했다.
참조: true false
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] level1. 문자열 내 p와 y의 개수 (javascript) (0) | 2021.04.16 |
---|---|
[프로그래머스] level1. 문자열 내 마음대로 정렬하기(javascript) (0) | 2021.04.16 |
[프로그래머스] level1. 소수찾기 ( javascript) (0) | 2021.04.10 |
[프로그래머스] level1. 서울에서 김서방 찾기 (javascript) (0) | 2021.04.10 |
[프로그래머스] level1. 문자열 내림차순으로 배치하기(javascript) (0) | 2021.04.10 |