반응형
https://www.acmicpc.net/problem/20310
20310번: 타노스
어느 날, 타노스는 0과 1로 이루어진 문자열 $S$를 보았다. 신기하게도, $S$가 포함하는 0의 개수와 $S$가 포함하는 1의 개수는 모두 짝수라고 한다. 갑자기 심술이 난 타노스는 $S$를 구성하는 문자
www.acmicpc.net
아놔 중간에 연속된 사전적으로 제일 빠른 문자열 찾는줄알고 시간 낭비 오지게 했다. 그냥 말 그대로 뽑는거다 연속된거 아님
#include <iostream>
#include <string>
using namespace std;
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
string s;
cin >> s;
int half_zero_cnt, half_one_cnt = 0;
for (int i = 0; i < s.size(); i++)
if (s[i] == '1')
half_one_cnt++;
half_zero_cnt = s.size() - half_one_cnt;
half_one_cnt /= 2;
half_zero_cnt /= 2;
for (int i = 0; half_one_cnt > 0; i++) {
if (s[i] == '1') {
half_one_cnt--;
s[i] = '2';
}
}
for (int i = s.size() - 1; half_zero_cnt > 0; i--) {
if (s[i] == '0') {
half_zero_cnt--;
s[i] = '2';
}
}
string res(s.size() / 2, 0);
int res_cnt = 0;
for (int i = 0; i < s.size(); i++)
if (s[i] != '2')
res[res_cnt++] = s[i];
cout << res;
}
반응형
'<algorithm> > 백준' 카테고리의 다른 글
백준 1806 부분합 c++ (0) | 2023.11.04 |
---|---|
백준 2230 수 고르기 c++ (0) | 2023.11.04 |
백준 1911 흙길 보수하기 c++ (1) | 2023.10.14 |
백준 1459 걷기 c++ (0) | 2023.10.12 |
백준 2879 코딩은 예쁘게 c++ (1) | 2023.10.09 |