알고리즘

PCCP 모의고사 1회: 외톨이 알파벳

류창 2022. 9. 18. 19:06
반응형

 

문제 1번 : 외톨이 알파벳

 

외톨이 알파벳을 찾아서 사전순대로 반환을 해주면 되는문제다.

 

외톨이 알파벳은  서로 떨어져있는 알파벳이라고 생각하면된다.

 

 

문제 1번 같은경우는 테스트케이스를 잘 줘서,  꽤 쉽게 풀린것같다.

 

외톨이 알파벳의 판별여부는  뭉쳐있음 And 뭉쳐있음도 허용이되기때문에 조건문을 작성하기 조금 까다롭다.

 

우선, 필자는 알파벳이 떨어져있음을 구현하기위해, Map을 하나 구현했다.

 

Map에 알파벳이 있으면 이미 등록되있음을 나타내고,  알파벳이 없으면 새로운 알파벳을 뜻한다.

 

하지만, 알파벳은 연속으로 중복일수가있다.  이 경우를 제거를 잘 해줘야한다.

필자는 current변수를 하나 지정해서 체크를 해줬다.

 

또한, 외톨이 알파벳형식이 2번 3번 ..여러번 일어날수있으니, EX) zazbzczd 

Set을 사용해 중복을 제거해줬다.

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
32
33
34
35
36
import java.util.*;
class Solution {
    public String solution(String input_string) {
        String answer = "";
        
        //외톨이 판별 맵
        Map<Character,Boolean> map = new HashMap<>();
        
        //중복 판별
        Set<Character> set = new TreeSet<>();
        
        char[] carr= input_string.toCharArray();
        
        char current=' ';
        
        for(char temp:carr){                     
             if(current!=temp){
                 if(map.containsKey(temp)){
                     set.add(temp);
                 }               
                map.put(temp,true);
                current=temp;
             }
        }
         
        for(char temp :set){
            answer+=temp;
        }
        
        if(answer==""){
            return "N";
        }
        
        return answer;
   }
}
cs

 

반응형

'알고리즘' 카테고리의 다른 글

PCCP 모의고사 1회 : 유전법칙  (0) 2022.09.18
PCCP 모의고사 1회 : 체육대회  (0) 2022.09.18