반응형
programmers.co.kr/learn/courses/30/lessons/12981
구현문제였습니다.
풀이방법
1. 이전 단어의 끝 알파벳이 현재 단어의 처음 알파벳과 다르거나 map에 이미 있는 단어라면 번호와 차례를 저장합니다.
2. 아니라면 매번 말한 단어를 map에 저장합니다.
Code
#include <string>
#include <vector>
#include <iostream>
#include <map>
using namespace std;
vector<int> solution(int n, vector<string> words) {
vector<int> answer;
map <string,int> m;
int turn = 0, people = 0;
for(int i = 0; i < words.size(); i++){
if(i){
if(words[i-1][words[i-1].size()-1] != words[i][0] || m[words[i]] == 1){
turn = i/n + 1;
people = i % n + 1;
break;
}
}
m[words[i]] = 1;
}
answer.push_back(people);
answer.push_back(turn);
return answer;
}
'Algorithm > String' 카테고리의 다른 글
(Javascript) - 프로그래머스(2019 카카오 개발자 겨울 인턴십) : 튜플 (0) | 2021.05.07 |
---|---|
(Javascript) - 프로그래머스(2018 KAKAO BLIND RECRUITMENT[3차]) : n진수 게임 (0) | 2021.05.04 |
(C++) - 백준(BOJ) 1213번 : 팰린드롬 만들기 답 (0) | 2021.03.22 |
(C++) - 백준(BOJ) 3029번 : 경고 답 (0) | 2021.03.19 |
(C++) - 백준(BOJ) 9933번 : 민균이의 비밀번호 (0) | 2021.03.18 |