Bomb Kirby Running

코딩 테스트 챌린지

코딩 테스트 7

^. ̫ .^ 2023. 5. 23. 21:51

728x90

문제1 특정문자 제거하기

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

제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • letter은 길이가 1인 영문자입니다.
  • my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
  • 대문자와 소문자를 구분합니다.

입출력 예

my_string letter result
"abcdef" "f" "abcde"
"BCBdbe" "B" "Cdbe"
function solution(my_string, letter) {
    var answer = '';
    let cnt = 0;
    while(cnt < my_string.length) {
        if(my_string[cnt] !== letter){
            answer = answer + my_string[cnt]
        }
        cnt = cnt + 1;
    }
    return answer;
}

변수를 선언하고 cnt가 문자열의 길이의 수 보다 작을때까지 반복하고 반복문 내에서 현재 인덱스(cnt)의 문자가 letter와 다른지 확인합니다.

문자가 letter와 다른 경우에는 answer에 해당 문자를 추가합니다

cnt를 1 증가시킵니다

반복문이 종료되면 최종적으로 구성된 answer를 반환합니다

 

문제2 각도기

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

제한사항

  • 예각 : 0 < angle < 90
  • 직각 : angle = 90
  • 둔각 : 90 < angle < 180
  • 평각 : angle = 180

입출력 예

angle result
70
1
91 3
180 4
function solution(angle) {
    var answer = 0;
    if(angle > 0 && angle < 90){
        return 1;
    }
    if(angle == 90){
        return 2;
    }
    if(angle > 0 && angle < 180){
        return 3;
    }
    return 4;
}

answer 변수를 0으로 초기화합니다

angle이 0보다 크고 90보다 작은 경우, 즉 0 < angle < 90인 경우, 1을 반환합니다. 

angle이 90인 경우, 2를 반환합니다. 이는 양의 x축과 평행한 선에 해당합니다

angle이 0보다 크고 180보다 작은 경우, 즉 0 < angle < 180인 경우, 3을 반환합니다. 

위의 조건들에 해당하지 않는 경우, 4를 반환합니다. 

 

문제3 양꼬치

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

제한사항

  • 0 < n < 1,000
  • n / 10 ≤ k < 1,000
  • 서비스로 받은 음료수는 모두 마십니다.

입출력 예

n k result
10 3 124,000
64 6 768,000
function solution(n, k) {
    let yangPrice = n * 12000;
    let drinkPrice = k * 2000;
    let discountNumber = Math.floor(n /10) * 2000;
    return yangPrice + drinkPrice - discountNumber;
}

양꼬치는 1인분에 12000원이므로 양꼬치의 가격은 n * 12000원으로 설정해줍니다.

음료수 가격은 2000이므로 총 음료수 가격을 k * 2000원으로 설정해줍니다.

서비스 받은 횟수는 10인분을 먹었으므로 10에서 n인분을 나누고 소숫점은 버리고 음료수 2000을 곱해줍니다.

그리고 양꼬치의 가격 + 음료수 가격 - 서비스 받은횟수를 뺀 값을 반환합니다. 

 

문제4 짝수의 합

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

제한사항

  • 0 < n ≤ 1000

입출력 예

n result
10 30
4 768,000
function solution(n) {
    var answer = 0;
    let cnt = 1;
    let sum = 0;
    while(cnt <= n) {
        if(cnt % 2 === 0){
            sum = sum +cnt;
        }
        cnt = cnt + 1;
    }
    return sum;
}

answer를 0으로 초기화합니다

cnt를 1로 초기화합니다

sum을 0으로 초기화합니다

cnt가 n보다 작거나 같은 동안 반복문을 실행합니다

반복문 내부에서 현재 cnt가 짝수인지 확인합니다. cnt % 2 === 0cnt를 2로 나눈 나머지가 0인지를 확인하는 조건식입니다. 만약 짝수라면 아래의 코드 블록이 실행됩니다

sum에 현재 cnt 값을 더합니다

cnt를 1 증가시킵니다

반복문이 종료되면 sum이 최종적으로 반환됩니다