프로그래머스 영어끝말잇기
코드 설명
기본적인 구현 문제라고 생각했다. 처음에는 n만큼 나눠서 생각하자고 했는데 예를 몇가지 해봤을때 규칙이 안생겨서 전부 대입해서 찾으려 하였다.
1. 중복이있는지
2. 끝문자와 다음 첫문자가 같은지
1,2를 전부 flag로 표현할수 있다.
제출후 다른사람 코드를 참고하였을때, 해쉬맵으로 푼사람도 많은것 같다.
소스 코드
#include <string>
#include <vector>
#include <iostream>
using namespace std;
vector<int> solution(int n, vector<string> words) {
vector<int> answer;
int flag = 0;
int t = words.size();
int k = 0;
for (int i = 1; i < t; i++) {
string a1 = words[i - 1];
string a2 = words[i];
for (int j = 0; j < i; j++) {
if (words[j] == words[i]) {
flag = 1;
break;
}
}
int b1 = a1.size();
if (a1[b1 - 1] != a2[0]) {
flag = 1;
}
if (flag == 1) {
answer.push_back(i%n + 1);
answer.push_back(i/n + 1);
return answer;
}
}
answer.push_back(0);
answer.push_back(0);
return answer;
}
Author And Source
이 문제에 관하여(프로그래머스 영어끝말잇기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@trevor522/프로그래머스-영어끝말잇기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)