38_알고리즘

charlie_·2021년 7월 21일

TIL

목록 보기
37/42
post-thumbnail

Q. String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환하는 getLengthOfStr함수를 만들어주세요.

str: 텍스트
return: 중복되지 않은 알파벳 길이 (숫자 반환)

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

오늘은 어떻게 논리를 구성해야할지 도무지 떠오르지가 않았다.
1시간을 넘게 고민해도 답을 내릴 수가 없어서 다른 팀원의 코드를 받아와 분석해봤다.

하지만 여전히 이해가 되지 않았다.
일단 다른 팀원의 코드를 적어두고 나중에 한 번 더 풀어봐야겠다.

function getLengthOfStr(str) {
  let result = '';
  let inn = 0;
  for (let i = 0; i < str.length; i++){
    if(!result.includes(str[i])){
      // result.includes(str[i])가 공백이라면
      result += str[i];
      // result에 str[i]에 해당하는 문자를 추가해라.
      // abc a b a b c
    } else {
      result = '' + str[i];
      // result.includes(str[i])가 공백이 아니라면
      // result에 공백과 str[i]에 해당하는 문자를 입력해라.
    }
  } inn = result.length;
   
  return result;
  // return inn;
}
profile
매일 하루에 딱 한 걸음만

0개의 댓글