https://www.acmicpc.net/problem/20310
20310번: 타노스
어느 날, 타노스는 0과 1로 이루어진 문자열 $S$를 보았다. 신기하게도, $S$가 포함하는 0의 개수와 $S$가 포함하는 1의 개수는 모두 짝수라고 한다. 갑자기 심술이 난 타노스는 $S$를 구성하는 문자
www.acmicpc.net
생각해 보기
- 0과 1의 개수를 처음에 센다.
- 1이 앞에 오면 사전 순서로 뒤로 밀리게 된다.
- 0의 사전 순서가 1보다 앞선다.
- 0은 뒤에서 1은 앞에서 없앤다.
코드
#include<iostream>
using namespace std;
string s;
int zero=0,one=0;
bool arr[501];
void input(){
cin>>s;
fill(&arr[0],&arr[500],true);
for(int i=0,len=s.length();i<len;++i){
if(s[i]=='0')
++zero;
else
++one;
}
}
void solution(){
for(int i=0,cnt=0;cnt<one/2;++i){
if(s[i]=='1'){
++cnt;
arr[i]=false;
}
}
for(int i=s.length()-1,cnt=0;cnt<zero/2;--i){
if(s[i]=='0'){
++cnt;
arr[i]=false;
}
}
for(int i=0,len=s.length();i<len;++i){
if(arr[i])
cout<<s[i];
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
input();
solution();
return 0;
}

728x90
'알고리즘 > 백준 문제' 카테고리의 다른 글
| 22233 - 가희와 키워드 (0) | 2023.03.08 |
|---|---|
| 19637 - IF 좀 대신 써줘 (0) | 2023.03.07 |
| 3758 - KCPC (0) | 2023.03.06 |
| 2607 - 비슷한 단어 (0) | 2023.03.06 |
| 17484 - 진우의 달 여행(Small) (0) | 2023.03.03 |
댓글