본문 바로가기
Algorithm/Leetcode

[Leetcode(릿코드)] 3. Longest Substring Without Repeating Characters (Medium)

by 잭피 2020. 11. 29.

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

 

Longest Substring Without Repeating Characters - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com


문제

가장 긴 문자열의 길이를 구하는 문제이다 (중복없이)

예를 들어 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;
}

댓글