문제
String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.
str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환)
예를 들어, str = "abcabcabc" return 은 3 => 'abc' 가 제일 길기 때문
str = "aaaaa" return 은 1 => 'a' 가 제일 길기 때문
str = "sttrg" return 은 3 => 'trg' 가 제일 길기 때문
3일차 코드카타에서는 도저히 생각이 나지 않았다..
그러다가 2일차(https://velog.io/@zeler1004/코드카타-2일차)에서 써먹었던 reverse를 써먹을 수도 있지 않을까라는 생각에 활용해볼 수 있도록 머리를 계속 굴렸으나... 결국 코드구현은 해내지 못했다.
그래서 시간제한(1시간~2시간 사이로 시간이 소요됐다.)동안에 만들어 낸 코드..
const getLengthOfStr = str => {
let result
let str = "";
let search =
let strRev = str.split("").reverse().join("");
for(let i=0; i<arr.length; i++){
// 중복문자가 선행값이 더 클때
if(){
result = str.indexOf(search)+1
}// 중복문자가 후행값이 더 클때
else if(){
result = strRev.indexOf(search)+1
}else{
result = str.length;
}
}
return result
}
각 문자에 대한 string들 사이에 문자값이 중복되는 쪽의 숫자가 더 높은 곳이 출력 될 수 있게끔 생각한 코드였다...
reverse 메소드와 indexOf() 메소드를 이용할 생각으로 만들어보려고 노력했던 코드...
다시 돌아볼 수 있는 시점이 될때 이 코드를 다시 구현시켜볼 수 있도록 해봐야겠다..
동료분이 만들어본코드내용도 일단 링크로 reference 해본다...
(링크 : https://velog.io/@fromsy2018/Code-Kata-D3-Week-1)