티스토리 뷰
외톨이 알파벳 문제 링크
정답 코드
import java.util.*;
import java.util.stream.*;
class Solution {
public String solution(String input_string) {
Map<String, Boolean> flag = new HashMap<>();
String[] input = input_string.split("");
String answer = "";
int i = -1;
while(++i < input.length) {
int j = i;
while(j < input.length && input[i].equals(input[j])) j++;
if(flag.getOrDefault(input[i], false)) answer += input[i];
if(i != j) i = j - 1;
flag.put(input[i], true);
}
if(answer.equals("")) return "N";
return Stream.of(answer.split(""))
.distinct()
.sorted()
.collect(Collectors.joining());
}
}
문제 해설
- 중복되는 알파벳인지 확인할 맵 생성한다.
- input_string을 배열로 만들어 전체를 순회한다.
- 중복되는 알파벳이면 넘어간다.
- 지금 알파벳이 전에 나왔던 알파벳이라면 answer에 추가한다.
- 중복되는 알파벳으로 설정한다.
- answer 값이 존재하면 중복을 제거, 정렬해서 리턴하고 비었으면 N을 리턴한다.
'알고리즘 > Programmers' 카테고리의 다른 글
[PCCP 모의고사 1] 3번 유전 법칙 [JAVA] (0) | 2023.04.25 |
---|---|
[PCCP 모의고사 1] 2번 체육대회 [JAVA] (0) | 2023.04.23 |
[Level2] 광물 캐기 (JAVA) (0) | 2023.04.22 |
[Level2] 무인도 여행 (JAVA) (0) | 2023.04.20 |
[Level2] 과제 진행하기 (JAVA) (0) | 2023.04.19 |
댓글