-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1주차 PR #13
1주차 PR #13
Conversation
수정하신 부분 확인했습니다 !제가 지금 PR을 올린 상태라 main 브랜치가 업데이트가 불가능해 코멘트로 남깁니다.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수도코드를 명시적으로 작성하셨네요! 저도 습관화를 위해 다음부터는 적어봐야겠습니다! 첫 주차 고생많으셨습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 풀이도 확인하시면 좋을 것 같습니다~!
function findLongestSubstring(str) {
let start = 0;
let result = 0;
const charMap = new Map();
for (let end = 0; end < str.length; end++) {
const char = str[end];
// 이미 문자가 존재하고, 해당 문자의 인덱스가 현재 시작 지점보다 크거나 같다면
if (charMap.has(char) && charMap.get(char) >= start) {
// 시작 지점을 중복 문자의 다음 인덱스로 이동
start = charMap.get(char) + 1;
}
// 현재 문자의 인덱스 업데이트
charMap.set(char, end);
// 현재 윈도우 크기와 최대 결과 비교
result = Math.max(result, end - start + 1);
}
return result;
}
No description provided.