[LeetCode] Largest Substring Between Two Equal Characters

준규·2022년 12월 5일

문자열 s 가 주어질 때 두개의 같은 문자 사이의 글자 수의 최댓값을 리턴하는 문제이다. 이때 양끝 같은 문자는 글자 수에서 제외한다.

Example을 보자

만약 s안에 같은 문자가 없다면 -1을 리턴해야한다.

const maxLengthBetweenEqualCharacters = function (s) {
  const length = s.length;
  let result = -1;

  for (let i = 0; i < length - 1; i++) {
    for (let j = length - 1; j > i; j--) {
      if (s[i] === s[j]) {
        result = Math.max(result, j - i - 1);
      }
    }
  }
  return result;
};

같은 문자 사이의 가장 긴 문자열을 알아내야하므로 s의 시작부분과 끝부분에서 for문을 돌기로 했다.

for문을 돌면서 같은 문자가 발견이 되면 현재 result 값과 j-i-1 값중 큰 값을 result로 저장을 해준다.

for문을 다 돌고 나서 result를 리턴해주었다.

submit을 해보니

정답이었다!

profile
안녕하세요 :)

0개의 댓글