Code Kata #3 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이
💁 문제 분석
String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.
str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환)
예를 들어, str = "abcabcabc" return 은 3 => 'abc' 가 제일 길기 때문
str = "aaaaa" return 은 1 => 'a' 가 제일 길기 때문
str = "sttrg" return 은 3 => 'trg' 가 제일 길기 때문
👍 답변1
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);
}
👍 답변2
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);
}
👍 답변3
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);
}
Author And Source
이 문제에 관하여(Code Kata #3 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@somangoi/Code-Kata-3-중복되지-않은-알파벳으로-이루어진-제일-긴-단어의-길이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)