Mgcllee

[프로그래머스] 이중우선순위큐

코딩테스트 연습 - 이중우선순위큐 문제 바로가기 문제 설명 이 문제의 핵심은 최솟값과 최댓값을 실시간으로 제거할 수 있는지 입니다. 큐를 그대로 사용할 경우, C++ 에서 최대힙을 사용하기 때문에 최댓값은 바로 구할 수 있지만 최솟값은 삽입 시 -1 을 곱해야 빠르게 구할 수 있습니다. 따라서 이 문제점을 개선하고자 중복이 가능하고 실시...

[프로그래머스] 전력망을 둘로 나누기

코딩테스트 연습 - 전력망을 둘로 나누기 문제 바로가기 문제 설명 전체 전력망을 2개의 전력망으로 나눴을 때, 두 전력망(그래프)의 노드 개수 차이가 가장 최소가 되는 값을 반환해야 합니다. 따라서 그래프에 이어진 노드 개수 를 빠르게 파악하는 것이 중요하기 때문에 그래프 탐색 중 너비 우선 탐색(BFS)를 사용했습니다. 그리고 전력...

[프로그래머스] 퍼즐 게임 챌린지

코딩테스트 연습 - 퍼즐 게임 챌린지 문제 바로가기 문제 설명 해결 방법 숙련도의 최솟값을 찾아야 하므로 탐색 알고리즘을 이용하고자 하였습니다. 처음 사용한 탐색 알고리즘은 순차 탐색이였습니다. 순차 탐색은 \(O(N)\) 이라는 시간 복잡도를 갖지만, diffs 의 원소는 100’000 이하이므로 제한 시간 내 풀이가 가능하다고 ...

[자료구조] 그래프 자료구조의 기본

그래프는 다른 포스트에서 설명했던 트리처럼 노드와 간선을 사용하는 자료구조입니다. 그러나 트리와 전혀 다른 자료구조로 몇 가지 명확한 차이점이 존재합니다. 따라서 이번 포스트에서는 그래프가 무엇이고 그래프의 특징은 무엇이 있으며, 어디에서 사용하는지 알아보겠습니다. 그래프 (Graph) 그래프는 노드(Node, 혹은 버텍스(Vertex))와 ...