[프로그래머스] 영어 끝말잇기

hamsteak·2023년 9월 20일
0

ps

목록 보기
14/39

주어진 배열을 이용해 끝말잇기를 진행하다가 진 사람의 번호와 차례를 얻어야 하는 문제.

set를 이용해 방문처리를 해주고 틀린 사람이 나왔다면 나머지 연산과 나눗셈 연산을 적절히 활용하여 해결하면 된다.

https://school.programmers.co.kr/learn/courses/30/lessons/12981

cpp code

#include <string>
#include <vector>
#include <set>

using namespace std;

vector<int> solution(int n, vector<string> words) {
    vector<int> answer;
    set<string> S;
    
    char last_ch = words[0].back();
    S.insert(words[0]);
    for (int i=1;i<words.size();i++) {
        if (words[i][0] != last_ch || !S.insert(words[i]).second) {
            answer.push_back(i % n + 1);
            answer.push_back(i / n + 1);
            break;
        }
        last_ch = words[i].back();
    }

    if (answer.empty()) {
        return {0, 0};
    }
    return answer;
}
profile
안녕하세요

0개의 댓글