Algorithm/Javascript

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

보라해바라기 2023. 9. 20. 09:47
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