LeetCode - 3. Longest Substring Without Repeating Characters (JavaScript)

조민수·2024년 7월 9일
0

LeetCode

목록 보기
51/64
post-custom-banner

Medium, 문자열

RunTime : 69 ms / Memory : 58.28 MB


문제

Given a string s, find the length of the longest substring without repeating characters.


풀이

  • 어렵지 않은데, " "를 처리하는데 애를 먹었다.
    • tmpslice하는 방식으로 처리해야 수월하게 해결할 수 있었다.
var lengthOfLongestSubstring = function(s) {
    if (s === "") {
        return 0;
    }

    var res = new Array();
    var tmp = new Array();

    for (let i = 0; i < s.length; i++) {
        if (!tmp.includes(s[i])) {
            tmp.push(s[i]);
        } else {
            res.push(tmp.length); // 중복 발생 시 현재 부분 문자열의 길이를 기록
            tmp = tmp.slice(tmp.indexOf(s[i]) + 1); // 중복된 문자 이후로 자르고 새 부분 문자열 시작
            tmp.push(s[i]); // 현재 문자를 추가
        }
    }

    res.push(tmp.length); // 마지막 부분 문자열 길이도 기록

    return Math.max(...res);
};
profile
사람을 좋아하는 Front-End 개발자
post-custom-banner

0개의 댓글