Bomb Kirby Running

코딩 테스트 챌린지

코딩 테스트 18

^. ̫ .^ 2023. 6. 2. 00:51

728x90

문제1 문자열 안에 문자열

문자열 str1str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • 1 ≤ str1의 길이 ≤ 100
  • 1 ≤ str2의 길이 ≤ 100
  • 문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.

입출력 예

str1 str2 result
"ab6CDE443fgh22iJKlmn1o" "6CD" 1
"ppprrrogrammers" "pppp" 2
"AbcAbcA"
"AAA" 2
function solution(str1, str2) {
    var answer = 0;
    
    if (str1.includes(str2)) {
        answer = 1;
    } else {
        answer = 2;
    }
    
    return answer;
}


먼저, 함수 내부에서 사용되는 변수 `answer`를 0으로 초기화합니다. 이 변수는 최종적으로 반환될 결과를 저장할 변수입니다.
그 후, 조건문을 사용하여 `str1`이 `str2`를 포함하는지 여부를 판별합니다. `includes()` 메소드를 사용하여 `str1`에 `str2`가 포함되어 있는지를 확인합니다.
- 만약 `str1`이 `str2`를 포함한다면, `answer` 변수에 1을 할당합니다.
- 포함하지 않는다면, `answer` 변수에 2를 할당합니다.
마지막으로, `answer` 변수를 반환합니다.

문제2 제곱수 판별하기

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • 1 ≤ n ≤ 1,000,000

입출력 예

n result
144 1
976 2
function solution(n) {
    let answer = 0;
    
    let sqrt = Math.sqrt(n);
    
    if (Number.isInteger(sqrt)) {
        answer = 1;
    } else {
        answer = 2;
    }
    
    return answer;
}


먼저, 함수 내부에서 사용되는 변수 `answer`를 0으로 초기화합니다. 이 변수는 최종적으로 반환될 결과를 저장할 변수입니다.
다음으로, `Math.sqrt()` 함수를 사용하여 `n`의 제곱근을 계산합니다. 계산된 제곱근을 변수 `sqrt`에 저장합니다.
그 후, `Number.isInteger()` 함수를 사용하여 `sqrt`가 정수인지를 확인합니다. 만약 `sqrt`가 정수라면, 즉 `n`이 제곱수라면 `answer` 변수에 1을 할당합니다. 그렇지 않다면, 즉 `n`이 제곱수가 아니라면 `answer` 변수에 2를 할당합니다.
마지막으로, `answer` 변수를 반환합니다.

문제3 세균 증식

어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • 1 ≤ n ≤ 10
  • 1 ≤ t ≤ 15

입출력 예

n t result
2 10 2048
7 15 229,376
function solution(n, t) {
    var answer = n;

    for (var i = 0; i < t; i++) {
        answer *= 2;
    }

    return answer;
}

초기 세균의 수 nanswer 변수에 할당합니다

반복문을 사용하여 t시간만큼 세균의 수를 계산합니다. 반복문에서는 answer를 2배씩 곱해주는 연산을 t번 반복합니다

계산된 answer 변수를 반환합니다.

 

문제4 문자열 정렬하기(2)

영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.

제한사항

  • 0 < my_string 길이 < 100

입출력 예

my_string result
"Bcad" "abcd"
"heLLo" "ehllo"
"Python"
"hnopty"
function solution(my_string) {
    var answer = my_string.toLowerCase(); // 소문자로 변환
    answer = answer.split('').sort().join(''); // 알파벳 순서대로 정렬
    
    return answer;
}

먼저 my_stringtoLowerCase() 함수를 사용하여 소문자로 변환합니다. 변환된 문자열을 answer 변수에 할당합니다.

그 후, answersplit('') 함수를 사용하여 문자 단위로 분리하고, sort() 함수를 사용하여 알파벳 순서로 정렬합니다. 정렬된 문자열을 다시 join('') 함수를 사용하여 합치고, answer 변수에 할당합니다

정렬된 문자열이 저장된 answer 변수를 반환합니다