Home 문자열 바꿔서 찾기
Post
Cancel

문자열 바꿔서 찾기

문제를 직접 풀어보실 경우 여기를 클릭해 주세요.

문제 설명

문자 "A"와 "B"로 이루어진 문자열 myStringpat가 주어집니다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요.


제한사항

  • 1 ≤ myString의 길이 ≤ 100
  • 1 ≤ pat의 길이 ≤ 10
    • myStringpat는 문자 "A"와 "B"로만 이루어진 문자열입니다.

입출력 예

myStringpatresult
"ABBAA""AABB"1
"ABAB""ABAB"0

입출력 예 설명

입출력 예 #1

  • "ABBAA"에서 "A"와 "B"를 서로 바꾸면 "BAABB"입니다. 여기에는 부분문자열 "AABB"가 있기 때문에 1을 return 합니다.

입출력 예 #2

  • "ABAB"에서 "A"와 "B"를 서로 바꾸면 "BABA"입니다. 여기에는 부분문자열 "BABA"가 없기 때문에 0을 return 합니다.

※ 2023년 05월 15일 제한사항 및 테스트 케이스가 수정되었습니다. 기존에 제출한 코드가 통과하지 못할 수 있습니다.

문제 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
function solution(myString, pat) {
  const n = myString.length;
  const m = pat.length;

  for (let i = 0; i <= n - m; i++) {
    let convertedSubstring = myString.slice(i, i + m).replace(/A/g, "X").replace(/B/g, "A").replace(/X/g, "B");
    if (convertedSubstring === pat) return 1;
  }

  return 0;
}

성능 요약

  • 메모리: 33.5 MB

  • 시간: 0.05 ms

This post is licensed under CC BY 4.0 by the author.

5명씩

배열의 길이에 따라 다른 연산하기