반응형

문제 출처 :

 

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