반응형
leetcode.com/problems/longest-substring-without-repeating-characters/
문제
가장 긴 문자열의 길이를 구하는 문제이다 (중복없이)
예를 들어 s = "abcabcbb"가 input으로 들어오면, 중복되는 문자열 없이 abc, bca, cab, b ... 만들 수 있다
따라서 답은 3이다
해결
Brute force로 풀었다
String 문자열을 char[] 배열로 바꾼 후, 하나씩 문자를 리스트에 넣다가 중복이 있으면 break 한다
result 값은 list의 사이즈가 더 크면 업데이트한다
그리고 최종적으로 result를 리턴한다
public static int lengthOfLongestSubstring(String s) {
int result = 0;
char[] charArray = s.toCharArray();
for (int i=0; i<charArray.length; i++) {
List<Character> list = new ArrayList<>();
for (int j=i; j<charArray.length; j++) {
if (list.contains(charArray[j])) break;
list.add(charArray[j]);
}
if (list.size() > result) result = list.size();
}
return result;
}
반응형
'Algorithm > Leetcode' 카테고리의 다른 글
[Leetcode(릿코드)] 21. Merge Two Sorted Lists (Easy) (0) | 2020.11.25 |
---|---|
[Leetcode(릿코드)] 70. Climbing Stairs (Easy) (0) | 2020.11.18 |
[Leetcode(릿코드)] 2. Add Two Numbers (Medium) (0) | 2020.11.18 |
[Leetcode(릿코드)] 53. Maximum Subarray (Easy) (0) | 2020.11.18 |
[Leetcode(릿코드)] 969. Pancake Sorting (Medium) (0) | 2020.11.08 |
댓글