코딩테스트
[프로그래머스][C++] 영어 끝말잇기
이쿠우우
2022. 4. 15. 19:03
반응형
https://programmers.co.kr/learn/courses/30/lessons/12981
글쓴이의 답
개인적인 풀이 임으로
이것보다 더 좋은 알고리즘은 많음...
이렇게도 풀이하는구나.. 공유하기 위해 올림...
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
vector<int> solution(int n, vector<string> words) {
vector<int> answer;
vector<string> save;
int count =0;
char next;
char now;
for(string nowWord : words){
if(0 == count){
next = nowWord[nowWord.size()-1];
count++;
save.push_back(nowWord);
continue;
}
auto it = find(save.begin(), save.end(), nowWord);
if(it != save.end()){
break;
}
save.push_back(nowWord);
now = nowWord[0];
if(next != now){
break;
}
next = nowWord[nowWord.size()-1];
count++;
}
if(words.size() == count){
answer.push_back(0);
answer.push_back(0);
}
else{
answer.push_back((count%n)+1);
answer.push_back((count/n)+1);
}
return answer;
}
꾸준히 하다보면 실력이 늘겠지..
반응형