겹치는 문자가 없는 SubString의 최대 길이를 구하여라
가 문제였다.
음 중복 체크는 Hash Set을 이용하면 되고, 문자열 체크는 Sliding Window로 구현하면 되겠네!
라고 생각을 했다.
빈 문자열에 대해 처리를 따로 해줬다. 빈문자열 또한 처음부터 고려하고 알고리즘을 짰으면 괜찮지 않을까 라는 생각을 조심스럽시리사랍게 해본다.
import java.util.*;
class Solution {
public int lengthOfLongestSubstring(String s) {
HashSet<Character> set = new HashSet<>();
int max = 1;
if(s.equals("")) return 0;
for(int i=0; i<s.length()-1; i++){
int current = 0;
set.clear();
for(int j=i; j<s.length(); j++){
char c = s.charAt(j);
if(set.contains(c)){
if(current > max) max = current;
break;
}
current++;
set.add(c);
if(j==s.length()-1){
if(current > max) max = current;
break;
}
}
}
return max;
}
}
소스코드와 속도 만족스럽진 않지만 해결 👀
https://haningya.tistory.com/114