Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- DP
- 브루트포스
- MySQL
- 용어 정리
- 백트레킹
- 15651c++
- DFS
- 백준 알고리즘
- 백준 15651
- 주식 용어
- Programmers
- backtracking
- 백준알고리즘
- 15651
- 시장 선거 포스터 c++
- 위상정렬
- 2370 c++
- fill함수
- 에라토스테네스의 체
- 프로그래머스
- 삼성SW 역량 테스트 기출문제
- BFS
- 백준
- 주린이
- 주식 용어 정리
- C++
- 백준 1697
- 백준 2370
- 삼성 SW 역량 테스트 기출 문제
- 삼성 SW역량 테스트
Archives
- Today
- Total
빠켱이
프로그래머스 영어 끝말잇기[C++] 본문
#include <string>
#include <vector>
#include <set>
using namespace std;
vector<int> solution(int n, vector<string> words) {
vector<int> answer;
set<string> s;
int arr[10] = {0,};
int check = true;
int people = -1;
int last = words[0][words[0].length()-1];
arr[0] = 1;
s.insert(words[0]);
for(int i = 1; i < words.size(); i++){
int first = words[i][0];
arr[i%n]++;
if(last == first){
last = words[i][words[i].length()-1];
}
else{
people = i % n;
check = false;
}
if(s.find(words[i]) != s.end()){
people = i % n;
check = false;
}
if(words[i].size() == 1){
people = i % n;
check = false;
}
s.insert(words[i]);
if(check == false)
break;
}
if(check == false){
answer.push_back(people+1);
answer.push_back(arr[people]);
}
else{
answer.push_back(0);
answer.push_back(0);
}
return answer;
}
'알고리즘 > 프로그래머스 알고리즘' 카테고리의 다른 글
프로그래머스 최솟값 만들기[C++] (0) | 2021.05.07 |
---|---|
프로그래머스 오픈채팅방[C++] - 2019 KAKAO BLIND RECRUITMENT (0) | 2021.05.06 |
프로그래머스 행렬의 곱셈[C++] (0) | 2021.05.05 |
JadenCase 문자열 만들기[C++] (0) | 2021.05.05 |
프로그래머스 N개의 최소공배수[C++] (0) | 2021.05.05 |
Comments