본문 바로가기

Algorithm/자료구조

(C++) - LeetCode (easy) 1791. Find Center of Star Graph

반응형

https://leetcode.com/problems/find-center-of-star-graph/description/

자료구조 map을 활용한 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

1. key는 node번호, value는 node가 연결되어있는 다른 node들의 정보에 대한 map m을 선언해줍니다.2. edges의 정보에 대해 양방향 형식으로 map에 간선 정보를 저장합니다.3. nodeCnt를 선언해 m.size()가 곧 node의 총 개수이므로 이 값을 저장합니다.4. 정답 변수 ans를 선언해줍니다.

📔 풀이과정

m의 원소를 순회하며 el.second(node가 연결되어 있는 node들의 정보)가 nodeCnt - 1(자기 자신 node 제외)라면 ans에 node번호 el.first값을 저장 후 break해줍니다.

📔 정답 출력 | 반환

ans를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    int findCenter(vector<vector<int>>& edges) {
        map<int, vector<int>> m;
        for(auto e : edges) {
            m[e[0]].push_back(e[1]);
            m[e[1]].push_back(e[0]);
        }
        int nodeCnt = m.size();
        int ans = -1;
        for(auto el : m) {
            if(el.second.size() == nodeCnt - 1) {
                ans = el.first;
                break;
            }
        }
        return ans;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.