-
[1439] 뒤집기BOJ 2021. 9. 30. 07:06
https://www.acmicpc.net/problem/1439
1439번: 뒤집기
다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모
www.acmicpc.net
<문제>
입력받은 문자열 s를 1로 만드는 경우와 0으로 만드는 경우 2가지로 나누고,
1로 만드는 경우에는 0이 한데 붙어있는 구간의 수,
0으로 만드는 경우에는 1이 한데 붙어있는 구간의 수를 카운트하고
이중 작은 것을 출력하면 최적해를 찾을 수 있습니다.
<소스코드>
12345678910111213141516171819202122232425#include<bits/stdc++.h>using namespace std;int main(void) {ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);string s;cin >> s;int n = s.length(), i;int cnt_1 = 0, cnt_2 = 0;for (i = 0; i < n; i++) {if (s[i] == '0') {cnt_1++;while (s[i] == '0')i++;}}for (i = 0; i < n; i++) {if (s[i] == '1') {cnt_2++;while (s[i] == '1')i++;}}cout << min(cnt_1, cnt_2);return 0;}cs 'BOJ' 카테고리의 다른 글
[11659] 구간 합 구하기 4 (0) 2021.09.30 [1963] 소수 경로 (0) 2021.09.30 [1339] 단어 수학 (0) 2021.09.30 [1541] 잃어버린 괄호 (0) 2021.09.28 [1092] 배 (0) 2021.09.28