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
}
'코딩테스트 준비(kotlin) > 기본' 카테고리의 다른 글
[프로그래머스] N개의 최소공배수 (kotlin) (0) | 2024.06.13 |
---|---|
[kotlin] 콜라 문제 (0) | 2024.05.28 |
[kotlin] 푸드 파이트 대회 (0) | 2024.05.27 |
[kotlin] 삼총사 (0) | 2024.05.16 |
[kotlin] 최대공약수와 최소공배수 (1) | 2024.05.16 |