8821. 적고 지우기 D3
진수는 어린 동욱이에게 숫자 공부를 시키고 있다.
진수는 숫자를 여러 번 말한다.
그러면 동욱이는 진수가 부르는 숫자를 공책에 적거나 지운다.
숫자를 적을 때는 공책에 그 숫자가 적혀 있지 않을 때이고,
숫자를 지울 때는 공책에 그 숫자가 적혀 있을 때이다.
처음 공책에는 어떤 숫자도 적혀 있지 않다고 할 때,
마지막에 공책에 적힌 숫자의 개수를 구하는 프로그램을 작성하라.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 ‘0’에서 ‘9’사이의 숫자로 이루어진
길이 1이상 104이하의 문자열이 주어진다.
문자열은 진수가 말하는 숫자를 순서대로 나타낸다.
[출력]
각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고,
각 테스트 케이스 마다 마지막에 공책에 적힌 숫자의 개수를 출력한다.
입력
3 121 0123456789 555555 |
// 테스트 케이스 개수 // 첫 번째 테스트 케이스 문자열 // 두 번째 테스트 케이스 문자열 |
출력
#1 1 #2 10 #3 0 |
// 첫 번째 테스트 케이스 결과 // 두 번째 테스트 케이스 결과 |
[코드]
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
int T=Integer.parseInt(br.readLine());
for (int i = 1; i <= T; i++) {
String A = br.readLine();
List<Integer> arr = new ArrayList<>();
for (int i2 = 0; i2 < A.length(); i2++) {
arr.add((int)A.charAt(i2)-48);
}
Collections.sort(arr,Collections.reverseOrder());
for (int i3 = 0; i3 < arr.size()-1; ) {
if(arr.get(i3)==arr.get(i3+1)){
arr.remove(i3+1);
arr.remove(i3);
i3=0;
}
else {
i3++;
}
}
System.out.println("#"+i+" "+arr.size());
}
br.close();
}
}
'SWEA(SWExpertacAdemy)' 카테고리의 다른 글
[SWEA] 8931. 제로 D3 (자바) (0) | 2025.05.16 |
---|---|
[SWEA] 14178. 1차원 정원 D3 (자바) (0) | 2025.05.16 |
[SWEA] 4466. 최대 성적표 만들기 D3 (자바) (0) | 2025.05.16 |
[SWEA] 14692. 통나무 자르기 D3 (자바) (0) | 2025.05.15 |
[SWEA] 1213. [S/W 문제해결 기본] 3일차 - String D3 (자바) (0) | 2025.05.15 |