LeetCode - 3.Longest Substring Without Repeating Characters

요리하는코더·2021년 9월 15일
0

알고리즘 - 문제

목록 보기
20/48
post-thumbnail

코드

var lengthOfLongestSubstring = function(s) {
    
    const arr = s.split('');
    let longestWord = '';
    let newWord = '';
    let answer = 0;
    arr.map((a) => {
        const idx = newWord.indexOf(a);
        if(idx !== -1) {
            if(answer < newWord.length) {
                longestWord = newWord;
                answer = newWord.length;
            }
            newWord = newWord.slice(idx+1) + a;
            
        } else {
            newWord += a;
        }
    })
    if(answer < newWord.length) {
                longestWord = newWord;
                answer = newWord.length;
    }
    
    return answer;
};

풀이 및 소감

요즘 바빠서 코딩테스트 문제를 많이 못 풀고 있다가 어쩌다가 풀게 된 문제이다. 코드가 조금 깔끔하지는 못하지만 O(n)에 해결한 문제이다. 각 글자별로 돌면서 존재하는 지 판단하고 글자가 존재하면 그 글자 다음부터 이어주면서 문제를 해결했다.

profile
요리 좋아하는 코린이

0개의 댓글