콘텐츠로 건너뛰기

냉방병 : 냉방으로 인해 발생하는 가벼운 감기와 비슷한 질환

50. 부분 문자열

 

문제 설명

  • 어떤 문자열 A가 다른 문자열 B안에 속하면 A를 B의 부분 문자열이라고 합니다. 예를 들어 문자열 "abc"는 문자열 "aabcc"의 부분 문자열입니다. 문자열 str1과 str2가 주어질 때, str1이 str2의 부분 문자열이라면 1을 부분 문자열이 아니라면 0을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ str1 ≤ str2 ≤ 20 
  • str1과 str2는 영어 소문자로만 이루어져 있습니다.

입출력 예시

  • 본문과 동일합니다.
  • "tbbttb"에는 "tbt"가 없으므로 0을 return합니다.

풀이

const solution = (str1, str2) => {
    return str2.includes(str1) ? 1 : 0;
}

// str2 문자열에 str1 문자열이 포함되어있는지 여부 확인

 

51. 원하는 문자열 찾기

 

문제 설명 

  • 알파벳으로 이루어진 문자열 myString과 pat이 주어집니다. myString의 연속된 부분 문자열 중 pat이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요. 
  • 단, 알파벳 대문자와 소문자는 구분하지 않습니다.

제한사항 

  • 1 ≤ myString의 길이 ≤ 100,000 
  • 1 ≤ pat의 길이 ≤ 300 
  • myString과 pat은 모두 알파벳으로 이루어진 문자열입니다.

입출력 예시 

  • "AbCdEfG"의 0~2번 인덱스의 문자열은 "AbC"이며, 이는 pat인 "aBc"와 같습니다. 따라서 1을 return 합니다.
  • myString의 길이가 pat보다 더 짧기 때문에 myString의 부분 문자열 중 pat와 같은 문자열이 있을 수 없습니다. 따라서 0을 return 합니다.

풀이

const solution = (myString, pat) => {
    return myString.toUpperCase().includes(pat.toUpperCase()) ? 1 : 0;
}

// 대소문자를 구별하지 않으므로 모든 문자열을 대문자로 맞춘 후 포함 여부를 확인

 

52. 글자 이어 붙여 문자열 만들기

 

문제 설명 

  • 문자열 my_string과 정수 배열 index_list가 매개변수로 주어집니다. my_string의 index_list의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항 

  • 1 ≤ my_string의 길이 ≤ 1,000 
  • my_string의 원소는 영소문자로 이루어져 있습니다. 
  • 1 ≤ index_list의 길이 ≤ 1,000 
  • 0 ≤ index_list의 원소 < my_string의 길이

입출력 예시 

  • 예제 1번의 my_string에서 인덱스 3, 5, 6, 11, 12, 14, 16, 17에 해당하는 글자는 각각 g, o, r, m, r, a, p, e이므로 my_string에서 index_list에 들어있는 원소에 해당하는 인덱스의 글자들은 각각 순서대로 p, r, o, g, r, a, m, m, e, r, s입니다. 따라서 "programmers"를 return 합니다.
  • 예제 2번의 my_string에서 인덱스 0, 1, 2, 3에 해당하는 글자는 각각 z, p, i, a이므로 my_string에서 index_list에 들어있는 원소에 해당하는 인덱스의 글자들은 각각 순서대로 p, i, z, z, a입니다. 따라서 "pizza"를 return 합니다.

풀이

const solution = (my_string, index_list) => {
    let result = [];
    for(const index of index_list){
        result.push(my_string[index]);
    }
    return result.join("");
}

// 각 인덱스의 값을 저장할 result 배열 선언
// for..of 문을 이용하여 result에 각 인덱스에 해당하는 값을 할당
// result 배열을 join 메서드를 이용하여 문자열로 반환

 

  • 정답률 높은 순부터 풀이
  • 매일 3 문항 풀이
비교 (0/20)
모두 지우기