본문 바로가기
코딩테스트 준비(kotlin)/기본

[kotlin] 문자열 나누기

by 1chanhue1 2024. 5. 27.

fun solution(s: String): Int {


    var array=s.toCharArray() // 문자 배열로 변환
    var samecount=0 // 같은 문자 세기
    var differcount=0// 다른 문자 세기

    var totalcount=0 // 분리된 문자열의 수


    var check=array[0] // 처음 비교할 문자는 배열의 첫 문자

    for(i in 0 until array.size){
        if(check==array[i]){ //같으면 samecount++ 증가
            samecount++
        }
        else{ //다르면 differcount 증가
            differcount++
        }
        if(samecount==differcount){  //같을경우에
            totalcount++ //total 증가 후 same diffcount 0으로 초기화
            samecount=0
            differcount=0

            if(i!=array.size-1){ // 배열의 끝이 아닐 경우 , 만약 배열의 끝이라면 다음 비교해야 할 문자는 없으므로 배열의 범위를 넘어가는 것을 방지
                check=array[i+1]

            }
        }


    }
    if(samecount!=0){// 만약 samecount가 0이 아니라면, 글자를 읽다가 끝난 상태이므로 total 1증가
        totalcount++
    }

    return totalcount
}