Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- react
- 자바스크립트코딩테스트
- 프로그래머스
- leetcode문제풀이
- 자바스크립트 알고리즘
- 자바스크립트
- Next.js13
- CSS
- 자바스크립트 문제
- lodash
- 제로베이스
- HTML
- stack문제
- JavaScript
- 리액트
- 알고리즘문제풀이
- next13
- Next
- 자바스크립트 문제 풀이
- NPM
- 프론트엔드
- til
- leetcode
- 타입스크립트
- 리액트쿼리
- JS
- 자바스크립트 알고리즘 문제
- 자바스크립트 문제풀이
- 자바스크립트 연결리스트
- Baekjoon
Archives
- Today
- Total
코드노트
leetcode 3. Longest Substring Without Repeating Characters 문제 풀이 본문
Code note/자바스크립트 알고리즘 문제풀이
leetcode 3. Longest Substring Without Repeating Characters 문제 풀이
코드노트 2022. 9. 18. 22:40문제 설명
문자열 s가 주어지면 문자를 반복하지 않고 가장 긴 부분 문자열의 길이를 찾습니다.
ex )
1# s = "abcabcbb"
2# s = "bbbbb"
3# s = "pwwkew"
문제는 간단하다 s문장에서 문자를 반복하지 않고 각각 다른 문자열로만 되어 있는 문자의 길이를 반환하면 된다.
var lengthOfLongestSubstring = function (s) {
let strLth = 0;
let current = "";
for (let i = 0; i < s.length; i++) {
current = current.substring(current.indexOf(s[i]) + 1);
current += s[i];
console.log(current);
if (current.length > strLth) {
strLth = current.length;
}
}
return strLth;
};
- strLth 값은 0이다.
- 반복문을 돌리면서 current값에 substring으로 s문자 값을 하나씩 가져온다.
* substring(시작인덱스, 종료인덱스) // 일정 문자열을 반환한다.
* indexOf() // 특정 문자의 index 반환한다.
- substring으로 current의 indexOf를 통해서 current에 index를 구한다.
- current 에 s문자열을 하나씩 넣어준다.
- current의 length를 strLth에 넣어주면서 length 길이들을 비교하면서 가장 긴 배열을 업데이트 시킨다.
- 거기서 가장 긴 배열을 반환시킨다.
다른풀이를 보니깐 findIndex, slice 등으로 풀이를 했었다.
다른풀이들도 활용해서 풀어보고 익히는 연습을 해야겠다..!
'Code note > 자바스크립트 알고리즘 문제풀이' 카테고리의 다른 글
leetcode 35. Search Insert Position 문제 풀이 자바스크립트 (0) | 2022.09.21 |
---|---|
자바스크립트 stack 알고리즘 문제 풀이 / 알파벳 순서대로 꺼내기 (0) | 2022.09.21 |
LeetCode 26. Remove Duplicates from Sorted Array 배열 문제 풀이 (0) | 2022.09.18 |
자바스크립트 stack 괄호 짝 찾기 문제 풀이 (2) | 2022.09.17 |
자바스크립트 배열 stack 코드 문제 풀이 (0) | 2022.09.16 |