Etc.
-
[Algorithm] 프로그래머스 Lv2 프린터 (42587)Etc./Algorithm 2021. 2. 17. 17:37
안녕하세요 rosepurple입니다 :) 오늘 푼 알고리즘 문제 풀이를 작성해보도록 하겠습니다! 문제 오늘은 아래 문제를 풀어봤습니다. (약 40분 소요) https://programmers.co.kr/learn/courses/30/lessons/42587?language=java 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 풀이 문제에 나와있는 아래 순서대로 알고리즘을 작성했습니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 ..
-
[Algorithm] BFS 연습하기Etc./Algorithm 2020. 9. 11. 17:01
안녕하세요 :) 오늘은 알고리즘 중에서 제가 제일 어려워하는 너비 우선 탐색, 간단한 문제를 BFS로 Swift로 풀어볼 거예요. 어느 알고리즘이든 DFS는 어떻게든 풀겠는데 BFS는 어렵더라고요..! 마침 내일이 카카오 코딩 테스트 날이기도 하니까! 알고리즘을 가져왔습니다. 어떤 문제에 BFS를 사용하나요? BFS는 말 그대로 너비 우선 탐색, 너비를 우선으로 탐색하는 것인데요. 너비 우선 탐색은 최단 거리를 찾아주기 때문에 최단/최소 경로를 탐색할 때 주로 사용됩니다. 보통 큐를 활용해서 많이 구현하기 때문에, 큐를 구조체로 구현할 것입니다. 대략의 구현 방법 우선 BFS에서 처음 시작할 때, 시작 노드를 큐에 삽입해줍니다. 또한, 시작 노드를 방문했다고 체크해줍니다. 그 후로부터는 아래와 같이 작동..