헝D의 일기장
article thumbnail

https://www.acmicpc.net/problem/20310

 

20310번: 타노스

어느 날, 타노스는 0과 1로 이루어진 문자열 $S$를 보았다. 신기하게도, $S$가 포함하는 0의 개수와 $S$가 포함하는 1의 개수는 모두 짝수라고 한다. 갑자기 심술이 난 타노스는 $S$를 구성하는 문자

www.acmicpc.net

 

나의풀이

import java.util.*;
import java.io.*;
public class Main {
    public static void main(String args[]) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(System.out));
        
        String s= br.readLine();
       
        List<Character> list= new ArrayList<>();
        
        for(char c:s.toCharArray()){
            list.add(c);
        }

        int zero=Collections.frequency(list, '0')/2;
        int one= Collections.frequency(list, '1')/2;

        for(int i=0;i<list.size();i++){
            if(one == 0) break;
            if(list.get(i)=='1'){
                list.set(i,'X');
                one--;
            }
        }
        
        for(int i=list.size()-1; i>=0; i--){
            if(zero == 0) break;
            
            if(list.get(i) == '0'){
                list.set(i,'X');
                zero--;
            }
        }
        StringBuilder sb=new StringBuilder();
        for(char c:list){
            if(c != 'X')
                sb.append(c);
        }
        bw.write(sb.toString()+"\n");
       
       
        bw.flush();
        br.close();
        bw.close();
    
    }
}

 Tip.

list 값 변경 : list.set(인덱스, 바꾸려는 값) 

list 특정 요소의 개수 : Collections.frequency(리스트, 값)

profile

헝D의 일기장

@헝D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!