[PCCP 모의고사 1회] 외톨이 알파벳 (C++)
https://school.programmers.co.kr/learn/courses/15008/lessons/121683
풀이
우선 문자열에서 연속으로 등장하는 알파벳들을 제거
해준 후 알파벳 순으로 정렬했다. 정렬된 문자열에서 2번 이상 나타나는 알파벳
을 2회 이상 나타나면서도 2개의 부분으로 나누어져 있는 외톨이 알파벳이라 판단해 풀었다.
edeaaabbccd -> edeabcd -> abcddee -> de
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string input_string) {
string tmp = "";
tmp += input_string[0];
for(int i = 0; i < input_string.length() - 1; i++){
if(input_string[i] == input_string[i + 1]) continue;
tmp += input_string[i + 1];
}
sort(tmp.begin(), tmp.end());
string answer = "";
for(int i = 0; i < tmp.length(); i++)
if(tmp[i] == tmp[i + 1] && answer.back() != tmp[i]) answer += tmp[i];
if(answer == "") return "N";
return answer;
}
This post is licensed under CC BY 4.0 by the author.