반응형
https://programmers.co.kr/learn/courses/30/lessons/64065
글쓴이의 답
개인적인 풀이 임으로
이것보다 더 좋은 알고리즘은 많음...
이렇게도 풀이하는구나.. 공유하기 위해 올림...
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
vector<int> solution(string s) {
vector<int> answer;
int count =0;
for(int i=0; i< s.size()-1; i++){
if('}' == s[i]){
count++;
}
}
vector<vector<int>> result(count);
vector<int> temp;
string number="";
for(int i=1; i < s.size(); i++){
if(',' == s[i]){
if( 0 != number.size()){
int num = stoi(number);
number="";
temp.push_back(num);
}
}
else if('}' == s[i]){
if( 0 != number.size()){
int num = stoi(number);
number="";
temp.push_back(num);
int size = temp.size();
result[size-1] = temp;
temp.clear();
}
}
else{
if(1 == isdigit(s[i])){
number+=s[i];
}
}
}
for(vector<int> temp : result){
for(int num : temp){
if(0 == answer.size()){
answer.push_back(num);
}
else{
auto it = find(answer.begin(), answer.end(), num);
if(answer.end() == it){
answer.push_back(num);
}
}
}
}
return answer;
}
꾸준히 하다보면 실력이 늘겠지..
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스][C++] 전화번호 목록 (0) | 2022.03.21 |
---|---|
[프로그래머스][C++] 빛의 경로 사이클 (0) | 2022.03.21 |
[프로그래머스][C++] 수식 최대화 (0) | 2022.03.21 |
[프로그래머스][C++] 거리두기 확인하기 (0) | 2022.03.21 |
[프로그래머스][C++] [1차] 뉴스 클러스터링 (0) | 2022.03.21 |