728x90
반응형
https://www.acmicpc.net/problem/20310
1. Logic
사전순으로 가장 빠른 것을 구하라고 했기 때문에 0은 뒤에서부터 없애주고 1은 앞에서 부터 없애주는게 가장 작은 숫자를 구할 수 있는 방법이다.
2. Code
#include <bits/stdc++.h>
using namespace std;
int zero;
int one;
int checkErase[501];
int main() {
string str;
string ans = "";
cin >> str;
for(int i = 0; i < str.size(); i++) {
if(str[i] == '0') zero++;
else one++;
}
int zeroCnt = 0;
for(int i = str.size() - 1; i >= 0; i--) {
if(zeroCnt == zero/2) break;
if(str[i] == '0') {
checkErase[i] = true;
zeroCnt++;
}
}
int oneCnt = 0;
for(int i = 0; i < str.size(); i++) {
if(oneCnt == one/2) break;
if(str[i] == '1') {
checkErase[i] = true;
oneCnt++;
}
}
for(int i = 0; i < str.size(); i++) {
if(checkErase[i]) continue;
ans += str[i];
}
cout << ans;
}
알고리즘 Solve 후 제가 생각한 Logic을 기록하는 개인 공부 블로그입니다.
내용 중 최적화가 가능한 부분등은 언제든지 댓글로 틀린 부분 및 피드백 주시면 공부 및 반영하겠습니다🧐
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 2441 별 찍기 - 4 C++ :: Implementation (0) | 2023.12.03 |
---|---|
[백준/Baekjoon] 4195 친구 네트워크 C++ :: Union find & Data structure (1) | 2023.12.03 |
[백준/Baekjoon] 22233 가희와 키워드 C++ :: Data structure (4) | 2023.12.02 |
[백준/Baekjoon] 2961 도영이가 만든 맛있는 음식 C++ :: Broute force & Back tracking (0) | 2023.12.01 |
[백준/Baekjoon] 1052 물병 C++ :: Bit masking | Greedy (1) | 2023.11.30 |