-
항해3주차 자바스크립트 프로그래머스 - 나누어 떨어지는 숫자 배열(Sort)항해 프로그래머스 2023. 1. 30. 11:31
처음 풀이
function solution(arr, divisor) { var answer = []; for(i=0; i<arr.length; i++) if arr % divisor === 0 { return arr[i] } else return -1 return answer; } // arr % divisor === 0 : return arr // arr % divisor != 0 : return -1
수정 풀이
function solution(arr, divisor) { var answer = []; for(i=0; i<arr.length; i++) { if(arr[i] % divisor === 0) { answer.push(arr[i]); } } if(answer.length === 0) { answer.push(-1); } answer.sort((a,b) => a - b); return answer; } // for문 // arr % divisor === 0 : return arr // arr % divisor != 0 : return -1 // return sort로 오름차순 정렬하기
다른 풀이
filter를 사용하면 배열내에서 검색할 수 있나봄
function solution(arr, divisor) { var answer = arr.filter(v => v%divisor == 0); return answer.length == 0 ? [-1] : answer.sort((a,b) => a-b); }
function solution(arr, divisor) { var answer = []; for(var i = 0; i < arr.length; ++i) { if(arr[i] % divisor == 0) answer.push(arr[i]); } return answer.length < 1 ? [-1] : answer.sort((a, b) => a - b); }
function solution(arr, divisor) { var answer = []; for (var i=0; i < arr.length; i ++) if (arr[i] % divisor == 0) answer.push(arr[i]); if(answer.length == 0) answer = [-1]; else answer = answer.sort(function(a,b){return a-b}); return answer; }
Sort : 반환 값에 따른 sort()함수의 해석
- 반환 값 < 0 : a가 b보다 앞에 있어야 한다.
- 반환 값 = 0 : a와 b의 순서를 바꾸지 않는다.
- 반환 값 > 0 : b가 a보다 앞에 있어야 한다.
왜 return a-b / return b-a를 해주는지 확실하게 알 수 있다.
- numbers.sort((a, b) = > a - b); // 오름차순
- numbers.sort((a, b) => b - a ); // 내림차순
'항해 프로그래머스' 카테고리의 다른 글
항해3주차 자바스크립트 프로그래머스 - 문자열 내 p와 y의 개수 (0) 2023.01.30 (다시)항해3주차 자바스크립트 프로그래머스 - 내적 (0) 2023.01.30 항해3주차 자바스크립트 프로그래머스 - 2016년 (0) 2023.01.30 (다시)항해3주차 자바스크립트 프로그래머스 - 부족한 금액 계산하기 (0) 2023.01.28 (복습必)항해2주차 자바스크립트 프로그래머스 - x만큼 간격이 있는 n개의 숫자 (0) 2023.01.28