From 8c1e202bab0e7c32accefb0d5836bbf54cacd90d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B5=AC=EA=B5=90=ED=99=A9?= <49135176+9kyo-hwang@users.noreply.github.com> Date: Mon, 3 Jun 2024 18:38:19 +0900 Subject: [PATCH] Revert "3-mjj111" --- mjj111/DonutWithGraph.java | 78 -------------------------------------- 1 file changed, 78 deletions(-) delete mode 100644 mjj111/DonutWithGraph.java diff --git a/mjj111/DonutWithGraph.java b/mjj111/DonutWithGraph.java deleted file mode 100644 index dea4196..0000000 --- a/mjj111/DonutWithGraph.java +++ /dev/null @@ -1,78 +0,0 @@ -// 3시 13분 시작 3시 54분 완료 약 40분 소요 -// 정점 도넛 막대 8자 그래프 반환 -// 정점 개수 100만개 -import java.util.*; -class DonutWithGraph { - public int[] solution(int[][] edges) { - Map nodes = new HashMap<>(); - - for(int[] edge : edges) { - int start = edge[0]; - int end = edge[1]; - - Node startNode; - if(!nodes.containsKey(start)) { - nodes.put(start, new Node(0,0)); - } - startNode = nodes.get(start); - - Node endNode; - if(!nodes.containsKey(end)) { - nodes.put(end, new Node(0,0)); - } - endNode = nodes.get(end); - - endNode.indegree++; - startNode.next++; - startNode.nexts.add(end); - } - - int middleNodeIndex = 0; - int total = 0; - int eight = 0; - int line = 0; - int donut = 0; - int wannaRemove = 0; - for(Integer nodeIndex : nodes.keySet()) { - Node now = nodes.get(nodeIndex); - if(now.indegree == 0 && now.next >= 2) { - middleNodeIndex = nodeIndex; - total = now.next; - - wannaRemove = nodeIndex; - - for(int next : now.nexts) { - nodes.get(next).indegree--; - } - } - } - nodes.remove(wannaRemove); - - for(int nodeIndex : nodes.keySet()) { - Node now = nodes.get(nodeIndex); - if(now.indegree == 0) { - line++; - } - if(now.indegree == 2 && now.next == 2) { - eight++; - } - } - - donut = total - eight - line; - // 정점 도넛 막대 8자 그래프 반환 - int[] answer = new int[]{middleNodeIndex,donut, line, eight}; - return answer; - } - - class Node { - int indegree; - int next; - ArrayList nexts = new ArrayList<>(); - - Node(int indegree, int next) { - this.indegree = indegree; - this.next = next; - } - } -} -