[D3] 외로운 문자 - 10912
성능 요약
메모리: 35,712 KB, 시간: 233 ms, 코드길이: 867 Bytes
제출 일자
2023-11-04 21:07
출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do
import java.util.*;
class Solution {
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int tc = 1; tc <= T; tc++) {
String str = sc.next();
HashMap<Character, Integer> map = new HashMap<>();
ArrayList<Character> list = new ArrayList<>();
for(char ch : str.toCharArray()){
map.put(ch, map.getOrDefault(ch,0) + 1);
}
for(char ch : map.keySet()){
if(map.get(ch) % 2 != 0){
list.add(ch);
}
}
Collections.sort(list);
System.out.print("#" + tc + " ");
if(list.isEmpty()) {System.out.print("Good");}
else{for(char ch : list) System.out.print(ch);}
System.out.println();
}
}
}
Map이 아니라 배열과 아스키코드를 활용해서 문제를 풀 수 있다.
import java.util.*;
class Solution {
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int tc = 1; tc <= T; tc++) {
String str = sc.next();
int[] nums = new int[26];
for(char ch : str.toCharArray()){
nums[ch - 'a']++;
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i < 26; i++){
if(nums[i] % 2 != 0){
sb.append(String.valueOf((char)('a' + i)));
}
}
System.out.println("#" + tc + " " + (sb.toString().isEmpty() ? "Good" : sb.toString()));
}
}
}
'알고리즘 - SWEA > D3' 카테고리의 다른 글
[SW expert Academy] SWEA 7087번 문제 제목 붙이기 자바(Java) (0) | 2023.11.04 |
---|---|
[SW expert Academy] SWEA 3142번 영준이와 신비한 뿔의 숲 자바(Java) (0) | 2023.11.04 |
[SW expert Academy] SWEA 3314번 보충학습과 평균 자바(Java) (0) | 2023.11.04 |
[SW expert Academy] SWEA 11445번 무한 사전 자바(Java) (1) | 2023.11.04 |
[SW expert Academy] SWEA 7193번 승현이의 수학공부 자바(Java) (0) | 2023.11.04 |