목록Computer Science/Algorithm (5)
Dev.J

현재 진행중인 자바 알고리즘 스터디에서 BFS, DFS, 백트래킹 정리를 맡아 블로그에 정리해보려한다. BFS, DFS는 지금껏 알고리즘 공부를 하면서 항상 골머리를 앓게 한 파트였기에 이렇게 정리하는 시간을 가짐으로써 조금 더 알고리즘과 가까워질 수 있지 않을까 싶다. BFS와 DFS는 그래프 탐색이라는 큰 범주에 속한다. 우선 BFS, DFS를 알아보기 전에 그래프가 무엇인지 먼저 살펴보자. 그래프란? 노드와 그 노드를 잇는 간선을 하나로 모아놓은 자료구조. 그래프 탐색이란? 그래프의 모든 노드를 탐색하기 위해 간선을 따라 순회하는 것. 탐색 방법에 따라 BFS(Breadth First Search)와 DFS(Depth First Search)로 나뉘어짐. BFS(Breadth First Search..

https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net 그리디 알고리즘(Greedy Algorithm) : 욕심쟁이 알고리즘이라고도 불리며, 가장 좋다고 생각하는 것을 선택해 나가는 방식이지만 최적해를 보장하지는 않는다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 im..
https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 큐(Queue) 란? - 컴퓨터의 기본적인 자료 구조의 한가지 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식 Enqueue 동작 (큐에 데이터를 집어넣는 동작 - 항상 맨 뒤에 추가) - add(var) : var을 리스트의 끝부분에 추가한다. 큐에 여유공간이 없어 추가 실패하면 IllegalStateException 반환. - offer(var) : var을 리스트의 끝부분에 추가한다. 값 추가에 실패하면 false 반환. ..
https://www.acmicpc.net/problem/1213