WeCode Kata Day 3
문제
String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환하라.
str: 단어, return: 중복되지 않은 알파벳 길이 (숫자 반환)
Ex)
str = "abcabcabc" return 은 3 => 'abc' 가 제일 길기 때문
str = "aaaaa" return 은 1 => 'a' 가 제일 길기 때문
str = "sttrg" return 은 3 => 'trg' 가 제일 길기 때문
Thinking Algorithm
- 빈 새로운 문자열 newStr 선언하여 for문으로 새로운 문자열에 알파벳 push
1-1. <조건> newStr이 이전에 있던 알파벳과 동일할 시
1-2. newStr은 해당 알파벳의 인덱스+1번째 slice 한 것
1-3. 1-2의 알파벳 newStr에 추가해줌
- 빈 배열 arr에 newStr의 길이를 push 해줌
- arr에 들어온 값 중 가장 큰 것 반환
ㄴ 빈 배열이 들어왔을 때? 0을 반환해야 하므로 arr의 기본 값 0으로 설정해줌
Code
const getLengthOfStr = str => {
let arr = [0];
let newStr = '';
for(let i in str) {
if(newStr.includes(str[i])) {
newStr = newStr.slice(newStr.indexOf(str[i])+1);
}
newStr += str[i];
arr.push(newStr.length);
}
return Math.max(...arr);
}
Author And Source
이 문제에 관하여(WeCode Kata Day 3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@threeplef/WeCode-Kata-Day-3
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1-1. <조건> newStr이 이전에 있던 알파벳과 동일할 시
1-2. newStr은 해당 알파벳의 인덱스+1번째 slice 한 것
1-3. 1-2의 알파벳 newStr에 추가해줌
ㄴ 빈 배열이 들어왔을 때? 0을 반환해야 하므로 arr의 기본 값 0으로 설정해줌
const getLengthOfStr = str => {
let arr = [0];
let newStr = '';
for(let i in str) {
if(newStr.includes(str[i])) {
newStr = newStr.slice(newStr.indexOf(str[i])+1);
}
newStr += str[i];
arr.push(newStr.length);
}
return Math.max(...arr);
}
Author And Source
이 문제에 관하여(WeCode Kata Day 3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@threeplef/WeCode-Kata-Day-3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)