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

    SMALL

    1. A 강조하기

    function solution(myString) {
        var answer = '';
        
        myString = myString.split('');
        
        for (let i=0; i<myString.length; i++) {
            if (myString[i].toLowerCase() == "a") {
                myString[i] = myString[i].toUpperCase();
            } else {
                myString[i] = myString[i].toLowerCase();
            }
        }
        
        answer = myString.join('');
        
        return answer;
    }

     

    2. 특정한 문자를 대문자로 바꾸기

    function solution(my_string, alp) {
        var answer = '';
        
        let upperAlp = alp.toUpperCase();
        
        answer = my_string.includes(alp) 
                 ? my_string.replaceAll(alp, upperAlp) // 해당하는 모든 것을 바꿔라 > replaceAll
                 : my_string;
        
        return answer;
    }

     

    3. 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기

    function solution(myString, pat) {
        var answer = '';
        let res = [];
        
        // 부분 문자열 중, pat을 가지고 있는 부분 문자열 판별
        myString.split("").forEach( (v, i)=> {
            const subStr = myString.slice(0, i+1);
            if (subStr.endsWith(pat)) { // ** endsWith : 끝나는 문자열
                res.push(subStr);
            }
        })
        
        // 길이 판별
        for (let j=0; j<res.length; j++) {
            let max = 0;
            if (max < res[j].length) {
                max = res[j].length;
                answer = res[j];
            }
        }
        
        return answer;
    }

     

    4. 문자열이 몇 번 등장하는지 세기

    function solution(myString, pat) {
        var answer = 0;
        let arr = [];
        
        myString = myString.split("");
        
        // 부분 문자열
        for (let i=0; i<myString.length; i++) {
            for (let j=i; j<myString.length; j++) {
                arr.push(myString.slice(i, j+1).join(''));
            }
        }
        
        arr.forEach( s => {
            if (s == pat) {
                answer += 1;
            }
        })
        
        return answer;
    }

     

    5. ad 제거하기

    function solution(strArr) {
        var answer = [];
        
        for (let i=0; i<strArr.length; i++) {
            if (strArr[i].includes("ad")) {
                continue;
            } else {
                answer.push(strArr[i]);
            }
        }
        
        return answer;
    }

     

    6. 공백으로 구분하기 1

    function solution(my_string) {
        var answer = [];
        
        answer = my_string.split(" ");
        
        return answer;
    }

     

    7. 공백으로 구분하기 2

    function solution(my_string) {
        var answer = [];
        
        my_string = my_string.trim(); // 앞뒤 공백 제거
        my_string = my_string.replace(/ +/g, " "); // 연속된 공백을 하나로 치환
        answer = my_string.split(" ");
        
        return answer;
    }

     

     

    728x90

    댓글