프로그래머스 Lv0 day12

박상훈·2023년 2월 22일
0

프로그래머스LV0

목록 보기
6/6

🔪모음제거

첫번째 실패한 방법

function solution(my_string) {
    var answer = '';
    const replace = ["a","e","i","o","u"];
        for(let i = 0; i < my_string; i++){
        for(let j = 0; j < replace.length; j++){
            if(my_string[i] === replace[j]){
                answer += ' ';
            }
            answer += my_string[i];
        }
	        return answer;
        } 
}
// 함수로 변경 해도 되고
// 반복문으로 변경할 수 있을듯

이중 반복문을 이용해서 일치할때 주어진 매개변수를
공백으로 만들고 결과를 합쳐서 출력하는 방식으로 접근했는데
공백이 출력되버린다.

두번째 풀이 방법

function solution(my_string) {
    var answer = '';
    const vowels = ["a","e","i","o","u"];
        for(let i = 0; i < my_string.length; i++){
            const item = my_string[i]
            let isVowel= false;
            // 모음이 포함 되어있는지 확인
        for(let j = 0; j < vowels.length; j++){
            if(item === vowels[j]){
                isVowel = true;
                break;
            }
        }
    if(isVowel) continue;
    answer += item;
    }
    return answer;
}

위 item 으로 매개변수들 담아주고
isVowel에 문자가 포함되어있는지 boolean으로평가하여
있다면 braek 해서 반복문을 멈추고 없다면 continu로 진행하여
출력한다.

include를 이용한 풀이 방법

function solution(my_string) {
    var answer = '';
    const vowels = ["a","e","i","o","u"];
    for(let i = 0; i < my_string.length; i++){
        if(vowels.includes(my_string[i])){
            continue;
        }
        answer += my_string[i];
    } 
    return answer;    
}

my_string하고 배열을 사용하여 모음인지 확인합니다 vowels. 문자가 모음이면 continue키워드를 사용하여 건너뛰고 다음 문자로 넘어갑니다. 모음이 아닌 경우 문자열에 문자를 추가합니다.

👬문자열 정렬하기

isNan 과 Number로 작성하기

isNaN 공식홈페이지
isNaN() 함수는 어떤 값이 NaN인지 판별합니다.

function solution(my_string) {
    var answer = [];
    for( let i = 0; i < my_string.length; i++) {
        const item = Number(my_string[i]);
        if(Number.isNaN(Number(item))) {
            continue;
        }
        answer.push(item)
    }
    return answer.sort((a,b) => a - b);
}

숨어있는 숫자의 덧셈(1)

isNaN 을 이용하여 푸는 방법

function solution(my_string) {
    var answer = 0;
    for(let i = 0 ; i < my_string.length; i++){
        const item = my_string[i];
        if(Number.isNaN(Number(item))){
            continue;
        }
        answer += Number(item);
    }
    return answer;
}

소인수분해

첫번째 풀이방법

function solution(n) {
    var answer = [];
    for(let i = 2; n !== 1; i++){
        if( n % i === 0) {
            while(n % i === 0) {
                n /= i;
            }
            answer.push(i)
        }
    }
    return answer;
}

1과 n 을 제외한 2부터 차례대로 높은 숫자까지
계속 나누기를 시도하며 나눠진 숫자를 배열에 담아 준다.

profile
다들 좋은 하루 되세요

0개의 댓글