분류 전체보기
-
Java로 구현하는 DFS 알고리즘Java 2020. 2. 24. 15:40
안녕하세요, 이번 포스팅에서는 DFS 알고리즘에 대해서 알아보겠습니다. 그래프 탐색 알고리즘 중 가장 유명한 알고리즘은 아무래도 DFS와 BFS가 아닐까 생각됩니다. DFS는 스택을 활용해서 저장된 그래프의 모든 정점을 1번 방문하는 방법 중 하나인데, 갈 수 있는 만큼 최대한 많이 가고 갈 수 없을 경우 이전 정점으로 돌아가서 다시 탐색을 하는 알고리즘입니다. 그래프의 탐색 그래프는 자료구조에서 배우는 정점과 간선으로 이루어진 그래프를 의미합니다. 그래프 탐색은 하나의 정점으로부터 시작해서 차례대로 모든 정점들을 한 번씩 방문하는 것을 의미합니다. 예를 들면 특정 도시에서 다른 도시로 갈 수 있는지, 전자 회로에서 특정 단자와 단자가 서로 연결 되어 있는지에 대한 것입니다. 깊이 우선 탐색(DFS) D..
-
MVP 패턴 기초 - Google Architecture을 활용한 설계Android 2020. 2. 23. 22:21
들어가며 : 디자인 패턴과 사용하는 이유 MVP패턴의 목적과 구조 Google Architecture View, Presenter, Model 정의 마치며 더 읽을거리 들어가며 : 디자인 패턴과 사용하는 이유 개발을 시작한지 얼마안된 저에게 디자인 패턴은 먼 나라 얘기였습니다. 단순히 기능 구현하는데도 벅찬 저에게 가독성이 좋고 확장성을 고려한 코드 작성은 아직 멀게 느껴지기만 했습니다. 하지만 개발 공부를 계속하다보니 좋은 코드의 중요성을 알게 됐습니다. 프로젝트를 유지, 보수하고 새로운 기능을 개발 할 때도 이해하기 쉽고 수정이 쉬운 코드가 필요하고 시간이 흐른 뒤 제가 진행했던 프로젝트를 리팩토링 할 때도 구조화된 코드가 이해하기 훨씬 쉬웠습니다. 디자인 패턴은 많은 실무 프로그래머들이 인정한 효율..
-
[Kotlin] 배열 사용법 정리Kotlin 2020. 2. 20. 12:30
Java의 배열 선언 int[] i_array; int mArray[]; 자바에서는 두가지 방법으로 배열을 선언할 수 있는데요. 타입[ ] 변수; 타입 변수[ ]; 대괄호 [ ]는 배열 변수를 선언하는 기호로 사용되는데 타입 뒤에 붙을 수도 있고 변수 뒤에 붙을 수도 있습니다. 배열을 선언하면서 바로 초기화를 할 수도 있고, 선언만 하고 나중에 초기화를 할 수도 있습니다. int[] i_array = {1,2,3,4,5}; Arrays.fill(i_array,1); for(int i=0; i