import java.util.*;
public class PccpTest1_1 {
// PCCP 모의고사 1회 1번 외톨이 알파벳
public static String solution(String input_string) {
String answer = "";
char tempChar;
int tempCnt = 0;
int repeatCnt = 0;
Queue<Character> q = new LinkedList<>();
HashMap<Character, Integer> originHm = new HashMap<>();
HashMap<Character, Integer> repeatChkHm = new HashMap<>();
ArrayList<Character> list = new ArrayList<>();
for (int i = 0; i < input_string.length(); i++) {
q.offer(input_string.charAt(i)); // e d e a a a b b c c d
}
while (!q.isEmpty()) {
tempChar = q.poll();
if (originHm.get(tempChar) == null) { // originHm에는 key값으로 알파벳이, value값으로 해당 알파벳의 총 카운트가 들어갈 것이다.
originHm.put(tempChar, 1);
repeatChkHm.put(tempChar, 1);
} else {
tempCnt = originHm.get(tempChar) + 1;
originHm.put(tempChar, tempCnt);
}
if (!q.isEmpty()) { // AABBAA일 경우 // originHm A : 4, B : 2 // repeatChkHm A : 3, B : 2
if (tempChar == q.peek()) { // 연속되는 알파벳이라면
repeatCnt = repeatChkHm.get(tempChar) + 1;
repeatChkHm.put(tempChar, repeatCnt);
}
}
}
for (char key : originHm.keySet()) {
if (originHm.get(key) != repeatChkHm.get(key) && originHm.get(key) > 1) {
list.add(key);
}
}
if (list.size() == 0) {
answer = "N";
} else {
Collections.sort(list);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
sb.append(list.get(i));
}
answer = sb.toString();
}
return answer;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String input_string = "edeaaabbccd";
System.out.println(solution(input_string));
}
}
프로그래머스 PCCP 모의고사 문제 풀이 Java
'Java > PCCP' 카테고리의 다른 글
[Java] PCCP 모의고사 1회 문제 풀이 정답 (0) | 2022.11.26 |
---|---|
[Java] PCCP 모의고사 1회 운영체제 (0) | 2022.11.26 |
[Java] PCCP 모의고사 1회 유전법칙 (0) | 2022.11.26 |
[Java] PCCP 모의고사 1회 체육대회 (0) | 2022.11.26 |