[기초코드]
function solution(arr, divisor) {
var answer = [];
return answer;
}
[문제해결 과정 1]
function solution(arr, divisor) {
var answer = [];
for(let i=1; i<=arr.length; i++)
if(arr[i]%divisor==0){
answer.push(arr[i])
} else if ((arr[i]%divisor!==0)){
answer.push(-1)
}
return result;
}
arr배열 내부의 숫자를 divisor로 나눠서 나머지가 0 이라면 출력하라는 내요을 보자마자 if 문과 for문을 사용해 풀 생각이 들었습니다.
우선 for문으로 arr의 길이만큼 반복시키길것을 설정하고
arr 를 divisor로 나눠서 나머지가 0일때 그 값을 넣어주기 위해 .push 함수를 사용하였습니다.
그리고 else문으로 만약 값이 없을 시 -1 을 넣어줘야지 라는 식으로 코드를 작성하였지만, 역시나 오류 투성이였습니다.
저렇게 작성해버리면 나눠어떨어지지 않는 수가 하나라도 있다면 결과값이 모두 -1이 될테니까요
[문제해결 과정 2]
function solution(arr, divisor) {
var answer = [];
for(let i=0; i<=arr.length; i++)
if(arr[i]%divisor===0){
answer.push(arr[i])
}
if(answer.length ===0){
answer.push(-1)
}
return answer;
}
[출처 : https://dudmy.net/javascript/2015/11/16/javascript-sort/]
[예시]
그렇지 않아도 sort 함수 사용하는게 조금 어려웠는데 정리를 쉽게 해놓은 자료를 찾았고 여기에 적힌대로 새롭게 작성해 보았씁니다.
[최총코드]
function solution(arr, divisor) {
var answer = [];
for(let 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;
}
이러한 식이 되겠다.
function solution(arr, divisor) {
var answer = [];
for(let 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;
}