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

    SMALL

    1. n번째 원소까지

    function solution(num_list, n) {
        var answer = [];
        
        answer = num_list.slice(0, n); // 0 ~ n-1까지
        return answer;
    }

     

    2. n개 간격의 원소들

    function solution(num_list, n) {
        var answer = [];
        
        for (let i=0; i<num_list.length; i++) {
            answer.push(num_list[i]);
            i += n-1;
            // i++이 실행되기에 n-1을 넣어줌.
        }
        
        return answer;
    }

     

    3. 홀수 vs 짝수

    function solution(num_list) {
        var answer = 0;
        let oddSum = 0;
        let evenSum = 0;
        
        for (let i=0; i<num_list.length; i++) {
            if (i%2 == 0) { // i+1 번째 원소 > 홀수
                oddSum += num_list[i];
            } else { // 짝수
                evenSum += num_list[i];
            }
        }
        
        answer = (oddSum > evenSum)? oddSum : evenSum;
        
        return answer;
    }

     

    4. 5명씩

    function solution(names) {
        var answer = [];
        
        names.forEach( i => {
            if (names.indexOf(i) % 5 == 0) {
                answer.push(i);
            }
        })
        
        return answer;
    }

    ** filter를 사용한 풀이

    function solution(names) {
        var answer = [];
        
        answer = names.filter((person, idx) => idx%5 == 0);
        
        return answer;
    }

     

    5. 할 일 목록

    function solution(todo_list, finished) {
        var answer = [];
        
        for (let i=0; i<finished.length; i++) {
            if (finished[i] == false) {
                answer.push(todo_list[i]);
            }
        }
        return answer;
    }

     

    6. n보다 커질 때까지 더하기

    function solution(numbers, n) {
        var answer = 0;
        let sum = 0;
        
        numbers.some( i => {
            sum += i;
            if (sum > n) {
                answer = sum;
                return true;
            }
        })
        
        return answer;
    }

     

    7. 수열과 구간 쿼리 1

    function solution(arr, queries) {
        var answer = [];
        let s = 0;
        let e = 0;
        
        for (let i=0; i<queries.length; i++) {
            s = queries[i][0];
            e = queries[i][1];
            for (let j=s; j<=e; j++) {
                arr[j]++;
            }
        }
    
        answer = arr;
        
        return answer;
    }

     

     

    728x90

    댓글