코딩테스트

뇌주름 살리기 - 10

라퐁 2025. 1. 19. 20:48

영어가 싫어요

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.

function solution(numbers) {
    let answer = [];

    let i = 0;
    while(i < numbers.length) {
        switch(numbers[i]) {
            case 'z':
                answer.push(0);
                i += 4;
                break;
            case 'o':
                answer.push(1);
                i += 3;
                break;
            case 't':
                if(numbers[i + 1] === 'w') {
                    answer.push(2);
                    i += 3;
                } else if(numbers[i + 1] === 'h') {
                    answer.push(3);
                    i += 5;
                }
                break;
            case 'f':
                if(numbers[i + 1] === 'o') answer.push(4);
                else if(numbers[i + 1] === 'i') answer.push(5);
                i += 4;
                break;
            case 's':
                if(numbers[i + 1] === 'i') {
                    answer.push(6);
                    i += 3;
                } else if(numbers[i + 1] === 'e') {
                    answer.push(7);
                    i += 5;
                }
                break;
            case 'e':
                answer.push(8);
                i += 5;
                break;
            case 'n':
                answer.push(9);
                i += 4;
                break;
        }
    }

    return Number(answer.toString().replaceAll(',', ''));
}

인덱스 바꾸기

문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.

function solution(my_string, num1, num2) {
    let answer = my_string.split('');

    let tmp = answer[num1];
    answer[num1] = answer[num2];
    answer[num2] = tmp;

    return answer.toString().replaceAll(',', '');
}

한 번만 등장한 문자

문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.

function solution(s) {
    let obj = {};

    for(let i = 0; i < s.length; i++) {
        if(obj[s[i]] === undefined) {
            obj[s[i]] = 1;
        } else {
            obj[s[i]] += 1;
        }
    }

    let answer = [];

    for(let p in obj) {
        if(obj[p] === 1) answer.push(p);
    }

    return answer.sort().toString().replaceAll(',', '');
}

약수 구하기

정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.

function solution(n) {
    let answer = [];

    for(let i = 1; i <= Math.sqrt(n); i++) {
        if(n % i === 0) {
            answer.push(i);
            if(i !== n / i) {
                answer.push(n / i);
            }
        }
    }

    return answer.sort((x, y) => x - y);
}