코딩테스트 연습(Lv0 / 026 ~ 029)- Day07 문자열, 반복문, 출력, 배열, 조건문

Kang.__.Mingu·2023년 1월 5일
0

코딩테스트(Lv0)

목록 보기
8/26

특정 문자 제거하기

특정 문자 제거하기

문제

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.


function solution(my_string, letter) {
    // // 뭐가 문제일까..
    // let str = [...my_string]
    // for(let i = 0; i < str.length; i++){
    //     if(str[i] === letter){
    //         str.splice(i, 1);
    //     }
    // }
    // console.log(str);
    // str = str.join('');
    // return str;
    
    // push하는 방법으로 생각해보았다.
    let str = [...my_string];
    let arr = [];

    for(let i = 0; i < str.length; i++){
        if(str[i] !== letter){
            arr.push(str[i])
        }
    }
    return arr.join('');
}
// 문자형을 배열로 만든다. O
// 배열 중 letter 요소의 인덱스를 찾는다.
// 그리고 splice() 메소드로 letter 요소를 뺀다.
// 다음 배열을 문자열로 만든다.

// 깜박한 점
// 입출력 예 2번째를 보면 B가 2개가 들어가 있다
// indexOf를 보면 앞에 오는 배열만 출력하고 있는데 <- 이건 틀렸다는 소리
// 반복문을 돌리면 될 거 같다.

// 테스트코드 2,3번 틀린이유
// splice를 사용할 때 원본 배열에 영향이 가서..?라고 되어있음

함수 다음으로 첫 줄 부분을 쓴 코드는 for문을 돌릴 때 str[i]와 letter이 같으면 splice를 빼라고 했다. 여기서 문제가 되었다고 생각한다. splice를 이용하여 뺀다면 배열의 길이가 -1 줄어들기 때문에 다음에 오는 i를 검사하지 못하는 거 같다.

저런 부분은 다음으로 미뤄두고 일단 새로운 배열을 만들어 push하는 방법으로 진행하였더니 통과되었다.


각도기

각도기

문제

각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.


function solution(angle) {
    if(angle < 90) {
        return 1;
    } else if(angle == 90) {
        return 2;
    } else if (angle < 180) {
        return 3;
    } else if(angle == 180){
        return 4;
    }
}

양꼬치

양꼬치

문제

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.


function solution(n, k) {
    let a = n * 12000;
    let b = (k * 2000);
    let c = Math.floor(n/ 10) * 2000;
    
    let sum = a + b - c;
    return sum;
}

// 12000 * n인분
// 2000 * k개
// 10인분을 먹으면 음료수 하나 서비스
// n/10 * 2000 을 뺀 가격

짝수의 합

짝수의 합

문제

정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.


function solution(n) {
    let sum = 0;
    
    for(let i = 0; i<=n; i+=2) {
        sum += i;
    }
    return sum;
}
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글