나눠서 세어보자

문자열이 주어지면 분할된 문자열이 xy 의 동일한 발생 횟수를 갖는 방식으로 문자열을 분할할 수 있는 횟수를 찾아야 합니다.


예시:
문자열이 ayxbx 라고 가정해 보겠습니다. 따라서 가능한 경우는 다음과 같습니다.
  • ayxbx
  • ayxbx
  • ayxbx
  • ayxbx

  • 이러한 가능한 경우 중 두 번째 경우( ayxbx )만 조건을 충족하지 않습니다.

    내 접근 방식:



  • 분할 및 계산
    `

    function getCount (str){
    let strLength = str.length;
    if(strLength < 2){
        return 0;
    }
    let count = 0,
        firstStringLettersCount = { x: 0, y:0 },
        secondStringLettersCount = { x: 0, y:0 };
    
    for(let i = 0; i < strLength; i++){
        secondStringLettersCount[str[i]] += 1;
    }
    
    for(let i = 0; i < strLength-1 ; i++){
        firstStringLettersCount[str[i]] += 1;
        secondStringLettersCount[str[i]] -= 1;
        if(
            firstStringLettersCount['x'] === firstStringLettersCount['y'] ||
            secondStringLettersCount['x'] === secondStringLettersCount['y']
        ){
            count++;
        }
    }
    return count;
    }
    

    `

  • 좋은 웹페이지 즐겨찾기