728x90
https://programmers.co.kr/learn/courses/30/lessons/12910
function solution(arr, divisor) {
var answer = [];
// 배열 오름차순 정렬
arr.sort((a, b)=>(a-b));
// 배열의 각 인덱스에 접근해서 divisor로 나눈 나머지값이 0인경우를 빼낸다
for(let i=0; i<arr.length; ++i){
if(arr[i] % divisor === 0){
answer.push(arr[i])
}
}
//만약에 answer에 길이가 0이면, 즉 push된게 하나도 없으면 -1을 push해준다
if(answer.length === 0)
answer.push(-1);
// 정답
return answer;
}
정답은 여러개가 있는데
filter() 보단 map() 이 조금 더 끌려서 map() 정답을 가져왔다.
리액트 하려면 map()이해도가 높아야하는데 걱정이다.
앞으로의 문제는 map()을 쓰려한다 for 문은 이제 그만쓰고
정답을 해석하자면 그냥 map으로 풀어썼다.
function solution(arr, divisor) {
var answer = [];
arr.map((o) => {
o % divisor === 0 && answer.push(o);
})
return answer.length ? answer.sort((a, b) => a - b) : [-1];
}
map을 이용해 각 인덱스에 접근하는거 같은데 몰랐던걸 알게되었다.
아래 코드이다.
arr.map((o) => {
o % divisor === 0 && answer.push(o);
})
map 안에서 && 를 쓰면 true값을 뒤에서 작업할 수 있고
|| 를 쓰면 false값을 뒤에서 작업할 수 있다.
728x90
'알고리즘' 카테고리의 다른 글
프로그래머스 Level 1 - 행렬의 덧셈 (Javascript) (0) | 2022.05.14 |
---|---|
프로그래머스 Level 1 - 2016년 (Javascript) (0) | 2022.05.14 |
프로그래머스 Level 1 - 내적 (Javascript) (0) | 2022.05.14 |
프로그래머스 Level 1 - 서울에서 김서방 찾기(Javascript) (0) | 2022.05.14 |
프로그래머스 Level 1 - 수박수박수박수박수박수?(Javascript) (0) | 2022.05.14 |