[백준] 뒤집기 (1439)
문제 설명
입력 및 출력
» 입력
첫째 줄에 문자열 S가 주어진다. S의 길이는 100만보다 작다.
» 출력
첫째 줄에 다솜이가 해야하는 행동의 최소 횟수를 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
0001100 | 1 |
문제 풀이 (KOTLIN)
import kotlin.math.min
fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
println(separator(readLine()))
}
fun separator(S: String): Int {
var one = 0
var zero = 0
var ch = ' '
for (s in S) {
if (ch != s) {
ch = s
when (s) {
'1' -> one++
else -> zero++
}
}
}
return min(one, zero)
}
문제 풀이 (SWIFT)
func separator(S: String) -> Int {
var one = 0
var zero = 0
var char = "z"
for s in Array(S).map({ String($0) }) {
if char != s {
char = s
switch s {
case "1": one += 1
default: zero += 1
}
}
}
return one < zero ? one : zero
}
print(separator(S: readLine()!))