Algorithm/BOJ
BOJ 1439 뒤집기
삼쓰 웅쓰
2020. 6. 22. 15:42
728x90
출처: www.acmicpc.net/problem/status/1439/74/1
분류: Greedy
접근방식
0이 연속되는 구간, 1이 연속되는 구간을 계산해서 더 작은 구간을 다 뒤집으면 되니까
더 적은 구간을 출력해주면 되는 문제입니다.
해결방법
let str = readLine()!
var zeroSection = 0
var oneSection = 0
var current: Character?
for char in str {
guard let curr = current else {
current = char
continue
}
if char != curr {
if char == "0" {
zeroSection += 1
} else {
oneSection += 1
}
current = char
}
}
print(max(zeroSection, oneSection))