본문 바로가기

알고리즘/백준 문제풀이

백준 1439번 - 뒤집기(Kotlin)

728x90

 

https://www.acmicpc.net/problem/1439

 

1439번: 뒤집기

다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모

www.acmicpc.net

문제 접근

연속되는 수를 뒤집어 전체를 0으로 만들거나 1로 만드는 경우의 수 중 시행횟수의 최소값을 구하는 문제

0과 1중 연속되는 수가 끊기는 구간이 더 적은 쪽을 택하여 몇번 끊기는지 세주면 됨

 

정답코드

import java.util.*

fun main(args: Array<String>): Unit = with(Scanner(System.`in`)) {
    val str = next()
    var zero = 0
    var one = 0
    var check = ' '
    for(n in str){
        if (check != n){ // 연속되는 수가 끊기는 구간
            check = n //마지막 수와 비교

            if (n == '1') //1로 끊기는 경우 
                one++
            else { //0으로 끊기는 경우
                zero++
            }
        }
    }
print(Math.min(zero, one))
}

'알고리즘 > 백준 문제풀이' 카테고리의 다른 글

백준 1418 k-세준수(Kotlin)  (0) 2023.01.30
백준 1531 - 투명(Kotlin)  (0) 2023.01.29
백준 1343 - 폴리오미노(Kotlin)  (0) 2023.01.29
백준 1316 - 그룹 단어 체커(kotlin)  (0) 2023.01.29
백준 - 1120 (kotlin)  (0) 2023.01.28