반응형
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;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.