[프로그래머스] 부분 문자열


문제 설명

문자열 str1과 str2가 주어질 때, str1이 str2의 부분 문자열이라면 1을 부분 문자열이 아니라면 0을 return하도록 solution 함수를 완성해주세요.


제한사항

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

입출력 예

str1str2result
“abc”“aabcc”1
“tbt”“tbbttb”0

입출력 예 설명

입출력 예 #1

  • 본문과 동일합니다.

입출력 예 #2

  • “tbbttb”에는 “tbt”가 없으므로 0을 return합니다.

나의 풀이

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

나의 두번째 풀이(Code Refactoring)

function solution(str1, str2) {
  return str2.indexOf(str1) !== -1 ? 1 : 0;
}

// 1. includes는 true/false , indexOf는 해당인덱스/-1 반환

참고 할 만한 다른 사람의 코드

function solution(str1, str2) {
  const regex = new RegExp(str1, "g");
  return str2.match(regex) ? 1 : 0;
}