한 걸음씩

[프로그래머스][JS] x 사이의 개수 본문

Programmers

[프로그래머스][JS] x 사이의 개수

winter17 2023. 5. 25. 17:44

https://school.programmers.co.kr/learn/courses/30/lessons/181867

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이 과정

function solution(myString) {
    var answer = [];
    let cnt = 0
    // x가 나오기전까지 카운트하다가 x가 나오면 카운트 리셋하고 push
    for (str of myString){ // 문자열을 순회하면서
        if (str !== 'x'){ // 'x'가 아니라면
            cnt += 1 // 카운트 1
        }else{ // 'x'라면
            answer.push(cnt) // answer배열에 cnt를 push
            cnt = 0 // cnt를 초기화
        }
    }
    answer.push(cnt)
    // 'x'문자가 마지막에 위치하거나, 'x'가 아닌 문자로 끝나는 경우때문에
    // 반복문 밖에서 한 번 더 cnt를 push
    return answer;
}

 


리뷰

'oxooxoxxox'

'xabcxdefxghi'

위의 두 문자열을 보면 'x' 문자 이후에 아무것도 없거나 'x'가 아닌 문자열로 끝날 때는 카운트하지 못하는 문제를 발견했고

이걸 해결하기 위해서 고민을 하다가 반복문 밖에서 한 번 더 push하면 되겠다!라는 생각이 들어 시도했더니 성공했다