반응형
문제 출처 :
https://programmers.co.kr/learn/courses/30/lessons/12981
알고리즘 분석 :
문제 해결에 필요한 사항
1. 구현
2. map stl
현재 앞의 단어가 이전의 뒤의 단어와 일치하는지만 확인해주면서 넘어가면 된다.
그리고 해당 단어가 이전에 나왔는지에 대한 여부는 map을 통해 체크해주면 쉽게 해결 할 수 있다.
소스 코드 :
#include <string>
#include <vector>
#include <iostream>
#include <map>
using namespace std;
map<string, int> mp;
vector<int> solution(int n, vector<string> words) {
vector<int> answer = {0,0};
char cur = words[0][words[0].size() - 1];
mp[words[0]] = 1;
for(int i = 1; i < words.size(); i ++){
if(cur != words[i][0] || mp[words[i]] == 1){
answer = {i % n + 1, i / n + 1};
break;
}
cur = words[i][words[i].size() - 1];
mp[words[i]] = 1;
}
return answer;
}
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[Programmers] 저울 (0) | 2019.09.10 |
---|---|
[1249번] 보급로 (0) | 2019.09.09 |
[Programmers] N개의 최소공배수 (0) | 2019.09.03 |
[1256번] K번째 접미어 (0) | 2019.08.31 |
[SwExpertAcademy] Inversion Counting (0) | 2019.08.18 |