String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.
str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환)
예를 들어, str = "abcabcabc" return 은 3 => 'abc' 가 제일 길기 때문
str = "aaaaa" return 은 1 => 'a' 가 제일 길기 때문
str = "sttrg" return 은 3 => 'trg' 가 제일 길기 때문
function getLengthOfStr(s) {
let strArr = [];
let prevStrArr = [];
for (let i = 0; i < s.length; i++) {
let ss = s.slice(i, i+1);
for (let j = 0; j < strArr.length; j++) {
if (ss === strArr[j]) {
if (prevStrArr.length < strArr.length) {
prevStrArr = strArr.slice();
}
strArr = strArr.splice(j+1, strArr.length);
break;
}
}
strArr.push(ss);
}
return Math.max(strArr.length, prevStrArr.length);
}
const getLengthOfStr = str => {
// 아래 코드를 작성해주세요.
let arr = [];
let arr2 = [];
for(let i =0; i < str.length; i++){
if(arr.indexOf(str[i]) === -1){ // arr에 str값이 없으면~
arr.push(str[i]);
if(arr.length > arr2.length){ //arr을 초기화시켜줄꺼니까
arr2 = arr;
}
}else{ //str값이 있으면,,,,,,
arr = arr.slice(arr.indexOf(str[i])+1);
arr.push(str[i]);// t
}
}
return Math.max(arr.length,arr2.length);
}
function getLengthOfStr(s) {
let strArr = [];
let prevStrArr = [];
for (let i = 0; i < s.length; i++) {
let ss = s.slice(i, i+1);
for (let j = 0; j < strArr.length; j++) {
if (ss === strArr[j]) {
if (prevStrArr.length < strArr.length) {
prevStrArr = strArr.slice();
}
strArr = strArr.splice(j+1, strArr.length);
break;
}
}
strArr.push(ss);
}
return Math.max(strArr.length, prevStrArr.length);
}