반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코테
- 인프런
- 삼성
- 스텍
- AtoZ0403
- java
- 카카오
- 자바스크립트
- 코테준비
- 정렬
- 삼성소프트웨어아카데미
- stack
- 자료구조
- 콜백지옥
- SWEA
- 중간 평균값 구하기
- js
- 코딩
- 자바
- 코딩테스트
- NestJS
- spring
- 그리디알고리즘
- 배열
- array
- 프로그래머스
- mybatis
- 알고리즘
- javascript
- 백준
Archives
- Today
- Total
개발에 AtoZ까지
[JAVA][D3] 10804. 문자열의 거울상 본문
반응형
문제
알파벳 소문자 만으로 이루어진 문자열이 주어진다.
이 문자열에서 같은 두 문자들을 짝짓고 남는 문자가 무엇인지 구하는 프로그램을 작성하라.
같은 문자를 여러 번 짝지어서는 안 된다.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 알파벳 소문자 만으로 이루어진 문자열이 주어진다.
이 문자열의 길이는 1이상 100이하이다.
[출력]
각 테스트 케이스 마다 예제와 같은 형식으로 남는 문자를 사전 순서대로 출력한다.
만약 어떤 문자도 남지 않는다면 “Good”을 출력하도록 한다.
예시
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class Solution {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int i=1;i<=T;i++) {
String inputStr = br.readLine();
System.out.println("#"+i+" "+ aloneStr(inputStr));
}
}
public static String aloneStr(String inputStr) {
StringBuilder sb = new StringBuilder();
//문자를 저장할때 정렬을 시킬수있는 treemap을 사용
Map<Character, Integer> map = new TreeMap<Character, Integer>();
for(Character c : inputStr.toCharArray()) {
map.put(c, map.getOrDefault(c, 0)+1);
}
for(Character c: map.keySet()) {
//짝이 있는 문자열인지 확인
if(map.get(c)%2 == 1) {
sb.append(c);
}
}
if(sb.toString().isEmpty()) return "Good";
return sb.toString();
}
}
반응형
'코딩테스트 준비 > SWEA' 카테고리의 다른 글
[JAVA][D3] 10200. 구독자 전쟁 (0) | 2021.03.07 |
---|---|
[JAVA][D3] 10505. 소득 불균형 (0) | 2021.03.06 |
[JAVA][D3] 10804. 문자열의 거울상 (0) | 2021.03.02 |
[JAVA][D3] 11387. 몬스터 사냥 (0) | 2021.03.01 |
[JAVA][D2] 1204. 최빈수 구하기 (0) | 2021.01.11 |
[JAVA][D2] 1284. 수도 요금 경쟁 (0) | 2021.01.11 |
[JAVA][D2] 1285. 아름이의 돌 던지기 (0) | 2021.01.11 |
Comments