알고리즘

Algorithm | String형 인자에서 중복되지 않는 가장 긴 단어의 길이 반환하기-CodeKata3

3jun 2022. 1. 18. 16:11

문제

> String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.
str: 텍스트
return: 중복되지 않은 알파벳 길이 (숫자 반환)

예를 들어,
str = "abcabcabc"
return 은 3
=> 'abc' 가 제일 길기 때문

str = "aaaaa"
return 은 1
=> 'a' 가 제일 길기 때문

str = "sttrg"
return 은 3
=> 'trg' 가 제일 길기 때문

모범 문제 풀이1

```js
const getLengthOfStr = str => {

let countMax = 0;
let countString = '';
for(let i=0; i<str.length; i++) {
console.log('i값은 ' + i);
console.log(countString);
let indexOfStr = countString.indexOf(str[i]);
console.log(indexOfStr);
if (countString !== -1 && indexOfStr < i ) {
countString = countString.substr(indexOfStr + 1);
}
countString = countString + str[i];
countMax = Math.max(countMax, countString.length);
}
return countMax;
}
```

> 오늘 문제는 접근 방법조차 제대로 생각해내지 못했다. 독서를 통해 컴퓨터적 사고력을 기르고 하루 1문제 백준 알고리즘 문제풀이를 통해 보완해야할 부분... (사실 프로젝트가 끝나기 전에는 가능할지 모르지만...)