본문 바로가기
Algorithm

[Algorithm][Array] 문제 풀이 #13 - Longest Repeating Character Replacement

by Lee David 2022. 7. 25.
반응형
문제 링크

https://leetcode.com/problems/longest-substring-without-repeating-characters/

 

내 코드
public int characterReplacement(String s, int k) {
    int[] arr = new int[128];

    int left = 0;
    int right = 0;
    int max = 0;
    int result = 0;

    while(right < s.length()) {
        max = Math.max(max, ++arr[s.charAt(right)]);

        if (right - left + 1 - max > k) {
            arr[s.charAt(left)]--;
            left++;
        }

        result = Math.max(result, right - left + 1);

        right++;
    }

    return result;
}
결과

앞에 반복되는 문자의 길이를 구하는 문제를 풀고 난 이후에 문자열 관련된 코테에 조금은 자신감이 생기는 느낌이다.

그래서 답을 보지 않고 풀이를 하려고 했지만 다시 30분 정도 고민후에 답지를 보고 말았다.

차분하게 하나씩 답지를 보니 문자를 수정 유/무에 따라서 생각하는 방식을 조금 다르게 잡아야겠다.

반응형