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

    SMALL

    1. 같은 숫자는 싫어

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

     

    2. 3진법 뒤집기

    function solution(n) {
        var answer = 0;
        let n1 = 0;
        let n2 = 0;
        
        // ** js 진수 변환 1) toString()  2) parseInt()
        
        // 10진법 > 3진법 만들기
        n1 = n.toString(3);
        
        // 3진법 뒤집기
        n2 = n1.split("").reverse().join("");
        
        // 뒤집은 3진법 > 10진법 만들기
        n2 = parseInt(n2, 3);
        
        answer = Number(n2.toString(10));
        
        return answer;
    }

     

    3. 크기가 작은 부분 문자열

    function solution(t, p) {
        let cnt = 0;
        let arr = []
        let len = p.length;
        let pNum = parseInt(p);
        
        for (let i=0; i<t.length-len+1; i++) {
            arr[i] = parseInt(t.slice(i, len+i));
        }
        
        arr.forEach( data => {
            if (data <= pNum) {
                cnt ++;
            }
        })
        
        return cnt;
    }

     

    728x90

    댓글