반응형
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12981
코드 및 풀이
보통 간단하게 생각을 하고 효율성이 맞지 않는다면 고치는 편인데
전꺼의 끝과 현재의 시작이 같지 않다면 return
그리고 여태 한것의 문장이 있다면 return을 하는 형식으로 생각하고 짰더니 바로 통과하였습니다.
/*
영어 끝말잇기
그냥 전꺼 끝 단어랑 처음 시작 단어를 비교해서 다르다면 리턴
그리고 vector<string> words에 있는 것을 돌며 서로 같지 않으면 리턴
*/
#include <string>
#include <vector>
#include <iostream>
using namespace std;
vector<int> solution(int n, vector<string> words) {
vector<int> answer;
int turn = 0;
for(int i = 1; i < words.size() ;i++){
if(words[i][0] != words[i - 1].back()){
answer.push_back(i % n + 1);
answer.push_back((i / n) + 1);
return answer;
}
for(int j = 0; j < i;j++){
if(words[i] == words[j]){
answer.push_back(i % n + 1);
answer.push_back((i / n) + 1);
return answer;
}
}
}
answer.push_back(0);
answer.push_back(0);
return answer;
}
반응형
'알고리즘 > c++ 프로그래머스' 카테고리의 다른 글
[프로그래머스] 구명보트 c++ 코드 및 풀이 (0) | 2023.05.06 |
---|---|
[프로그래머스] 카펫 c++ (0) | 2023.05.06 |
[프로그래머스] 짝지어제거하기 c++ (0) | 2023.05.05 |
[프로그래머스] 피보나치 수 c++ (0) | 2023.05.04 |
[프로그래머스] 다음 큰 숫자 c++ (0) | 2023.05.03 |
댓글