[프로그래머스] 230914 코딩테스트 연습

    SMALL

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

    function solution(arr, divisor) {
        var answer = [];
        
        arr.sort(function(a, b) {
            return a-b;
            // 오름차순 정렬
        })
        
        arr.forEach( i => {
            if(i%divisor == 0) {
                answer.push(i);
            }
        })
        
        if(answer.length == 0) {
            answer.push(-1);
        }
        
        
        return answer;
    }

     

    2. 음양더하기

    function solution(absolutes, signs) {
        let answer = 0;
        
        absolutes.forEach( (v, i) =>{
            if(signs[i] == true) {
                answer += v;
            } else {
                answer -= v;
            }
        })
        
        return answer;
    }

     

    3. 핸드폰 번호 가리기

    function solution(phone_number) {
        var answer = '';
        
        // case1. for문 사용
        for(let i = 0; i<phone_number.length-4 ; i++) {
            answer += "*";
        }
        answer = answer + phone_number.slice(-4);
        
        // case2. repeat 사용
        answer = "*".repeat(phone_number.length-4) + phone_number.slice(-4);
        
        return answer;
    }

     

    4. 없는 숫자 더하기

    function solution(numbers) {
        let answer = 45;
        
        numbers.forEach( i => {
            answer -= i;
        })
        
        return answer;
    }

     

    5. 제일 작은 수 제거하기

    function solution(arr) {
        var answer = [];
        let minIdx = 0;
        
        // 제일 작은 값 idx 찾기
        for(let i=0; i<arr.length; i++) {
            if (arr[minIdx] > arr[i]) {
                minIdx = i;
            }
        }
        
        // 배열에서 특정 인덱스 값 삭제 > splice(삭제 위치, 삭제 개수)
        arr.splice(minIdx, 1);
        
        answer = (arr.length == 0) ? [-1] : arr;
        
        return answer;
    }

     

     

    728x90

    댓글