주어진 배열을 이용해 끝말잇기를 진행하다가 진 사람의 번호와 차례를 얻어야 하는 문제.
set를 이용해 방문처리를 해주고 틀린 사람이 나왔다면 나머지 연산과 나눗셈 연산을 적절히 활용하여 해결하면 된다.
https://school.programmers.co.kr/learn/courses/30/lessons/12981
cpp code
#include <string>
#include <vector>
#include <set>
using namespace std;
vector<int> solution(int n, vector<string> words) {
vector<int> answer;
set<string> S;
char last_ch = words[0].back();
S.insert(words[0]);
for (int i=1;i<words.size();i++) {
if (words[i][0] != last_ch || !S.insert(words[i]).second) {
answer.push_back(i % n + 1);
answer.push_back(i / n + 1);
break;
}
last_ch = words[i].back();
}
if (answer.empty()) {
return {0, 0};
}
return answer;
}