알고리즘 문제

(6일차 JS) 프로그래머스 Lv.1

잼굴 2022. 10. 26. 11:12

문제 1. 나누어 떨어지는 숫자 배열

풀이 순서:

1. for문을 배열길이만큼 반복한다.

2. 배열의 값을 divisor로 나눈 나머지가 0이라면 answer배열에 push한다.

3. for문을 다 돈뒤에 answer에 값이 없다면, -1이라는 값을 넣어준다.

4. 배열을 오름차순으로 정렬한다.

 

사용문법

for() : 반복문

if(): 조건문

sort(function(a,b){return a-b}) : 오름차순

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(function(a,b){
        return a-b;
    })
    return answer;
}

 

 

문제 2.  제일 작은 수 제거하기

풀이순서

1. 배열의 최소값을 찾는 함수를 사용한다.

2. for문을 돌면서 차례돌면서 가장작은 수를 찾는다.

3. 그 수만 오려낸다.

 

사용문법

Math.min.apply(null, arr) : 배열에서 최소값 찾기

for() : 반복문

if() : 조건문

function solution(arr) {
    var answer = [];
    let min = Math.min.apply(null, arr);
    for(let i=0; i<arr.length; i++){
        if(arr[i]==min){
            arr.splice(i,1);
        }
    }
    if(arr.length==0){
        arr=[-1]
    }
    return arr;
}