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

    SMALL

    1. 배열 만들기 1

    function solution(n, k) {
        var answer = [];
        
        for (let i=1; i<=(n/k); i++) {
            answer.push(k*i);
        }
        
        return answer;
    }

     

    2. 글자 지우기

    function solution(my_string, indices) {
        var answer = '';
        let splitedArr = [];
        
        splitedArr = my_string.split("");
       
         for(let i=0; i<splitedArr.length; i++) {
            for (let j of indices) {
                if ( i == j ) {
                    splitedArr[i] = " ";
                }
            }
        }
        
        // ** 문자열 공백 제거하기
        // trim (문자열 앞 뒤 공백 제거)
        // replace(조건에 맞는 문자열을 특정 문자열로 변경)
        // replace의 / /g => 문자열의 "모든 공백"을 찾음.
        answer = splitedArr.join('').replace(/ /g, '');
        
        return answer;
    }

     

    3. 카운트다운

    // ** 자바스크립트에서는 배열에 리스트의 기능이 포함
    
    function solution(start, end) {
        var answer = [];
    
        for (let i = end; i<start+1; i++) {
            answer.push(i);
        }
        
        answer = answer.reverse();
        
        return answer;
    }

     

    4. 가까운 1 찾기

    function solution(arr, idx) {
        var answer = 0;
        
        for (let i = idx; i<arr.length; i++) {
            if (arr[i] == 1) {
                answer = i;
                break;
            } 
            else {
                answer = -1;
            }
        }
        
        return answer;
    }

     

    5. 리스트 자르기

    function solution(n, slicer, num_list) {
        var answer = [];
        const [a, b, c] = slicer;
        
        if (n==1) {
            answer = num_list.slice(0, b+1);
        } else if(n==2) {
            answer = num_list.slice(a);
        } else if(n==3) {
            answer = num_list.slice(a, b+1);
        } else if(n==4) {
            let rangeArr = num_list.slice(a,b+1);
            for (let i=0; i<rangeArr.length; i++) {
                if (i%c==0) {
                    answer.push(rangeArr[i]);
                }
            }
        }
        
        return answer;
    }

    6. 첫번째로 나오는 음수

    function solution(num_list) {
        var answer = 0;
        
        // ** 기본적으로 forEach() 함수는 break 존재 X
        // ** 방법 1. Array.some() > true는 break, false는 continue
        // ** 방법 2. Array.every() > true는 continue, false는 break
        
        num_list.some( i => {
            if (i < 0) { // 배열에 음수가 있을 때
                answer = num_list.indexOf(i);
                return true; // break;
            }
            answer = -1; // 배열에 음수가 없을 때
            return false;
        })
        
        return answer;
    }

     

    7. 배열 만들기 3

    function solution(arr, intervals) {
        var answer = [];
        const [ [a1, b1], [a2, b2] ] = intervals;
        
        let arr1 = arr.slice(a1, b1+1)
        let arr2 = arr.slice(a2, b2+1)
        answer = arr1.concat(arr2); // concat: 배열 연결
        
        return answer;
    }

     

     

    728x90

    댓글