[Coding Test]문자열 나누기

이묘·2022년 12월 26일
0

CodingTest

목록 보기
39/41
post-thumbnail
function solution(s) {
  var answer = 0;

  var x = 0;
  var other = 0;

  for(var i = 0; i < s.length; i++) {
    if(i === 0) { // 첫 단어는 x에 +1
      x++;
      continue;
    }
    else{
      if(s[0] === s[i]){  // 첫 단어와 같은 단어
        x++;
      }else{  // 다른 단어
        other++;
      }
  
      if(x === other){  // 처음으로 두 횟수가 같아지는 순간
        s = s.slice(i+1); // 문자열 분리
        answer++; 
        x = 0;  // 변수 초기화
        other = 0;
        i = -1; // 인덱스를 0번으로 이동
      }
    }
  }

  // (마지막 'aaaa'와 같이 특정 단어가 연속으로 있거나 
  // 같은 갯수가 더이상 없을 때)
  // 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 
  // 역시 지금까지 읽은 문자열을 분리하고
  // 종료합니다.
  if(x !== 0 || other !== 0){
    answer++;
  }

  return answer;
}
profile
본질을 공부해야 응용도 하지 않을까

0개의 댓글