반응형
문제 링크
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분 정도 고민후에 답지를 보고 말았다.
차분하게 하나씩 답지를 보니 문자를 수정 유/무에 따라서 생각하는 방식을 조금 다르게 잡아야겠다.
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm][Array] 문제 풀이 #15 - Group Anagrams (0) | 2022.07.28 |
---|---|
[Algorithm][Array] 문제 풀이 #14 - Find All Anagrams in a String (0) | 2022.07.27 |
[Algorithm][Array] 문제 풀이 #12 - Longest Substring Without Repeating Characters (0) | 2022.07.24 |
[Algorithm][Array] 문제 풀이 #11 - Valid Palindrome (0) | 2022.07.20 |
[Algorithm][Array] 문제 풀이 #10 - Valid Anagram (0) | 2022.07.20 |