목록분류 전체보기 (57)
SW 공부노트
그래프 관련 문제를 풀던 중 다익스트라(Dijkstra) 알고리즘을 활용한 문제를 풀게 되어 문제 풀이와 함께 알고리즘을 정리해보려 한다. 문제는 백준 1753번(최단경로)으로 다익스트라(Dijkstra)알고리즘 그대로 풀면 되는 문제이지만 생각보다 난이도가 있었다. https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 다익스트라(Dijkstra)알고리즘은 그래프에서 한 정점에서 다른 정점까지의 최단 경로를 구하..
BFS, DFS는 여러 그래프 탐색 문제를 해결할 때 가장 흔히 사용되는 알고리즘들 중 하나이다. 그래프 탐색 문제란 어떤 한 그래프와 해당 그래프의 시작 정점이 주어졌을 때, 시작점에서 간선을 타고 이동할 수 있는 정점들을 모두 찾아야 하는 문제를 말한다. 1. 깊이 우선 탐색(Depth First Search) 깊이 우선 탐색(DFS)은 그래프의 시작점에서 다음 브랜치로 넘어가기 전에, 해당 브랜치를 모두 탐색한다. 알고리즘의 개요는 시작점에서 시작점에 연결된 정점 -> 위 정점에 연결된 정점 ... 식으로 해당 브랜치에 연결된 간선이 없을 때까지 탐색한 후 다시 되돌아가 방문하지 않은 정점이 없을 때까지 위 방식을 반복하게 된다. (1) 깊이 우선 탐색 구현 DFS를 구현할 때는 직전에 방문했던 정..

안드로이드 앱을 개발하다 보면 다양한 View를 사용하게 된다. 그중 처음으로 사용해본 것이 ListView(리스트뷰)였는데 최근에 리스트뷰의 대부분의 기능을 RecyclerView(리사이클러뷰)로 할 수 있다는 것을 알게 되어 직접 구현해보았다. RecyclerView는 ListView의 개선된 형태로 목록의 뷰는 ViewHolder로 표현되며 각 ViewHolder는 View를 사용하여 각 항목을 표시하는 역할을 한다. ViewHolder 객체는 Adapter에서 관리하며 Adapter는 필요에 따라 ViewHolder를 만들어 onBindViewHolder()를 호출함으로써 데이터에 바인딩한다. View를 채울 때 LayoutManager가 필요한데, LinearLayoutManager 또는 Gri..

이전 글에서는 기본 Toolbar를 커스텀하는 방법에 대해 작성하였다. https://yobinmoksw.tistory.com/5 [안드로이드 스튜디오 - 자바] 기본 Toolbar Custom하기 안드로이드 화면을 구성하다보면 기본으로 세팅되어 있는 상단바를 필요에 맞게 변경해야하는 경우가 발생한다. 이럴 때는 기본으로 세팅된 Toolbar를 사용자가 원하는 형식으로 커스텀한 후 따 yobinmoksw.tistory.com 하지만 별다른 기능을 추가하지 않아 기존 툴바와 기능적으로 다른 부분은 없으나 툴바 커스텀의 가장 기본이자 시작 단계이므로 따로 나눠서 작성하였다. 이번 글에서는 커스텀 툴바에 원하는 버튼 기능을 추가하는 방법에 대해 작성하였다. 이전 글과 이어지니 위에 첨부된 글을 참고하길 바란다..