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

    SMALL

    1. x 사이의 개수

    function solution(myString) {
        var answer = [];
        
        myString = myString.split("x");
        myString.forEach( i => {
            answer.push(i.length);
        })
        
        return answer;
    }

     

    2. 문자열 잘라서 정렬하기

    function solution(myString) {
        var answer = [];
    
        answer = myString.split("x").filter(v => v!="").sort();
    
        return answer;
    }

     

    3. 간단한 식 계산하기

    function solution(binomial) {
        var answer = 0;
        
        let arr = binomial.split(" ")
        let a = Number(arr[0]);
        let b = Number(arr[2]);
        switch(arr[1]) {
            case "+":
                answer = a+b;
                break;
            case "-":
                answer = a-b;
                break;
            case "*":
                answer = a*b;
                break;
            default:
                break;
        }
        
        return answer;
    }

     

    4. 문자열 바꿔서 찾기

    function solution(myString, pat) {
        var answer = 0;
        let sub_str = [];
        let res = [];
    
        myString.split("").forEach( i => {
            if (i == "A") res.push("B");
            if (i == "B") res.push("A")
        })
        
        for (let i=res.length; i>0; i--){
            for (let j=0; j<i; j++) {
                sub_str.push(res.slice(j, i).join(''));
            }
        }
        
        sub_str.forEach( v => {
            if (v == pat) answer = 1;
        })
        
        return answer;
    }

     

    5. rny_string

    function solution(rny_string) {
        var answer = '';
        
        answer = rny_string.replaceAll("m", "rn");
        
        return answer;
    }

     

    6. 세 개의 구분자

    // ** 여러 구분자 사용 > 정규 표현식 활용
    function solution(myStr) {
        var answer = [];
        let res = []
        
        answer = myStr.split(/a|b|c/);
        // / / 안에 |로 조건 구분!!
        answer.some( i => {
            if (i == "") return false
            else res.push(i);
        })
        
        if (res.length == 0) {
            res.push("EMPTY");
        }
        
        return res;
    }

     

    7. 배열의 원소만큼 추가하기

    function solution(arr) {
        var answer = [];
        let cnt = 1;
        
        arr.forEach( i => {
            while(cnt <= i) {
                answer.push(i)
                cnt++;
            }
            cnt = 1;
        })
        
        
        
        return answer;
    }

     

    8. 빈 배열에 추가, 삭제하기

    function solution(arr, flag) {
        var answer = [];
        let repeat = 0;
        
        flag.forEach ( (v, i) => {
            if (v == true) {
                repeat = arr[i]*2;
                for(let s = 0; s<repeat; s++) {
                    answer.push(arr[i]);
                }
            } else { // (v==false)
                repeat = arr[i];
                for (let j = 0; j<repeat; j++) {
                    answer.pop();
                }
            }
        })
        
        return answer;
    }

     

     

    728x90

    댓글