알고리즘

프로그래머스 - 문자열 나누기

최데브 2024. 8. 17. 22:27

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

 

프로그래머스

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

programmers.co.kr

 

설명 그대로 문자의 요소들을 카운트해가며 비교하고 

x와 같은 문자를 센 카운트와 x와 다른 문자를 센 카운트가 같아질때

문자열을 자르고 그때마다 비교 기준이 되는 x 라는 문자를 갱신해주면 된다.

 

class Solution {
    fun solution(s: String): Int {
        var answer: Int = 0
        var str = s
        while (str.isNotEmpty()) {
            var sCnt = 1
            var oCnt = 0
            for (i in 1 until str.length) {
                if (str.elementAt(0) == str.elementAt(i)) sCnt++ else oCnt++
                if (sCnt == oCnt) break
            }
            str = str.substring(sCnt + oCnt)
            answer++
        }
        return answer
    }
}
반응형