[JavaScript] 리트코드 - #3 Longest Substring Without Repeating Characters (Medium)

배똥회장·2022년 11월 9일
0

📝 문제

리트코드 - #3 Longest Substring Without Repeating Characters (Medium)


📝 답안

📌 작성 코드

var lengthOfLongestSubstring = function(s) {
    let word = s.split("");
    let result = "";
    let ing = "";
    for (var i = 0; i < word.length; i++) {
        if (ing.indexOf(word[i]) == -1) {
            ing += word[i];
        } else {
            ing = ing.substring(ing.indexOf(word[i])+1, ing.length) + word[i];
        }

        if (result.length < ing.length) {
                result = ing;
        }
    }
    if (result.length < ing.length) result = ing;
    return result.length;
};

📌 결과


📌 코드 설명

글자를 리턴하는 것이 아니라 글자의 길이를 리턴하는 것이기 때문에 가장 긴 단어가 무엇인지는 상관이 없음

길이의 범위 역시 0보다 크거나 같고 50,000보다 작거나 같기 때문에 시간 복잡도도 그렇게 오래 안걸릴 것 같았음

그래서 새로운 글자가 나오면 그냥 뒤에 붙여주고, 포함된 글자가 나오면 그 포함된 글자 그 이후부터 글자를 자른 후 뒤에 붙여주는 식으로 진행했음

profile
어쩌면 개발자

0개의 댓글