반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
영어로 끝말잇기를 하는 문제다.
- 풀이
#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;
char before, now;
m[words[0]]++;
before = words[0][words[0].size()-1];
for(int i = 1; i < words.size();i++){
now = words[i][0];
m[words[i]]++;
if(before != now || m[words[i]] == 2){
answer.push_back(i % n + 1);
answer.push_back(i / n + 1);
break;
}
before = words[i][words[i].size()-1];
}
if(answer.empty()){
answer.push_back(0);
answer.push_back(0);
}
return answer;
}
map으로 모든 단어를 저장하며 몇번 나왔는지 세어보고 이전 단어의 마지막 alphabet과 현재 단어의 첫번째 alphabet이 같은지 확인한다.
- 기억할 것!
X
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 구명보트 C++ (0) | 2022.10.14 |
---|---|
프로그래머스 짝지어 제거하기 C++ (0) | 2022.10.13 |
프로그래머스 전화번호 목록 C++ (0) | 2022.10.11 |
프로그래머스 최댓값과 최솟값 C++ (0) | 2022.10.11 |
프로그래머스 JadenCase 문자열 만들기 C++ (0) | 2022.10.11 |