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

    SMALL

    1. 뒤에서 5등 위로

    function solution(num_list) {
        var answer = [];
        
        // ** 숫자 기준 정렬 방법: sort((a,b) => a-b)
        answer = num_list.sort((a,b) => a-b);
        answer = answer.slice(5);
        
        return answer;
    }

     

    2. 전국 대회 선발 고사

    function solution(rank, attendance) {
        var answer = 0;
        let att_dict = {};
        
        // 참가 안 한 학생들의 등수를 0으로 처리
        attendance.forEach ( (v, i) => {
            if (v == false) rank[i] = 0;
        })
        
        // 참가한 학생들의 번호, 등수를 딕셔너리에 저장 (key, value)
        rank.forEach ( (v, i) => {
            if ( v != 0) {
                att_dict[i] = v;
            }
        })
        
        let sorted = Object.entries(att_dict).sort((a, b) => a[1] - b[1]);
        // 딕셔너리 value로 오름차순 정렬
        
        let a = Number(sorted[0][0]);
        let b = Number(sorted[1][0]);
        let c = Number(sorted[2][0]);
        
        answer = a*10000 + b*100 + c;
        
        return answer;
    }

     

    3. 정수 부분

    function solution(flo) {    
        return Math.floor(flo);
        // Math.ceil : 올림
        // Math.round : 반올림
        // Math.floor : 버림
    }

     

    4. 문자열 정수의 합

    function solution(num_str) {
        var answer = 0;
        
        let arr = num_str.split("");
    
        arr.forEach ( (v, i) => {
            arr[i] = Number(v);
            answer += arr[i];
        })
        
        return answer;
    }

     

    5. 문자열을 정수로 변환

    function solution(n_str) {
        var answer = 0;
        
        answer = Number(n_str);
        
        return answer;
    }

     

    6. 0 떼기

    function solution(n_str) {
        var answer = '';
        let cnt = 0;
        
        let arr = n_str.split("");
        arr.every( i => {
            if ( i == 0 ) {
                cnt++;
                return true; // break
            }
        })
        answer = n_str.slice(cnt);
        
        return answer;
    }

     

    7. 두 수의 합

    function solution(a, b) {
        var answer = '';
        
        // BigInt : 아주 큰 정수를 표현
        answer = (BigInt(a) + BigInt(b)).toString();
        
        return answer;
    }

     

    8. 문자열로 변환

    function solution(n) {
        return n.toString();
    }
    728x90

    댓글