전체 글
-
[Python] 프로그래머스 / Level3 / 가장 먼 노드 (최단거리 알고리즘)코딩테스트 2021. 8. 27. 03:12
문제 : https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 최단거리 알고리즘 문제를 읽고, 최단거리 알고리즘을 이용해 풀이 해야한다는 것은 판단할 수 있었다. 다음은 대표적인 최단거리 알고리즘 2개이다. 다익스트라 알고리즘 (Dijkstra) 플로이드 워셜 알고리즘 (Floyd-Warshall) 😨 잘못된 풀이 : 플로이드 워셜 처음엔 아무생각 없이, 다익스트라보다 플로이드 워셜 알고리즘이 더 사용하기 편했기 때문에 플로이드 워셜 알고리즘으로 문제를 풀었다. def solution..
-
[Python] 프로그래머스 / Level3 / 입국심사 (Binary Search)코딩테스트 2021. 8. 26. 17:32
문제 : https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 문제 접근 처음에 문제를 읽어내려가면서, 그리디 알고리즘과 다이나믹 프로그래밍을 떠올렸다. 하지만, 제한사항을 읽고 이진탐색 문제라는 것을 깨달아 버렸다. Input 조건이 10^9 (10억) 이상이라면, O(N) 이상의 알고리즘을 작성했을시 효율성 테스트를 통과하지 못한다. 그래서 O(log N)의 복잡도를 가지는 이진탐색을 사용해야 하는 것이다. 이진..