https://codeforces.com/blog/entry/116752
Educational Codeforces Round 149 Editorial - Codeforces
codeforces.com
011110010
0[1110010] -> 00[100]111 -> 00001111
※ 문자열에 [10]을 최대한 없애야한다.
(110, 010)
※. [10] 이 있다면 같은수끼리 뭉치게 만든다.
(111000, 100000, 111110, 반전했을때 가장 적은수로 오름차순)
※. 문자열에 ? 가 있는곳은 전의 문자를 붙인다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
while(T --> 0) {
//StringTokenizer st = new StringTokenizer(br.readLine(), " ");
char[] arr = br.readLine().toCharArray();
char x = '0';
for(int i = 0; i < arr.length; i++) {
if(arr[i] == '?') arr[i] = x;
x = arr[i];
}
for(int i = 0; i < arr.length; i++) sb.append(arr[i]);
sb.append('\n');
}
System.out.println(sb);
}
}
'코드포스' 카테고리의 다른 글
[Codeforces Round 886 (Div. 4)] F. We Were Both Children (0) | 2023.07.30 |
---|---|
[Educational Codeforces Round 149 (Rated for Div. 2)] B. Comparison String (0) | 2023.06.01 |
[Codeforces Round 863 (Div. 3)] E. Living Sequence (0) | 2023.04.13 |
[Codeforces Round 849 (Div. 4)] D. Distinct Split (0) | 2023.03.13 |
[Hello 2023] D. Boris and His Amazing Haircut (0) | 2023.01.19 |