본문 바로가기

코테

(7)
[JAVA] DFS Flood fill 구현 class Solution { @Test public void solution() { // 5, 5 영역 int[][] board = new int[][] { {0,0,0,0,0}, {0,0,0,1,1}, {0,0,0,1,0}, {1,1,1,1,0}, {0,0,0,0,0} }; DFS_Flood_Fill(board, 1, 1, 3); for(int i = 0; i < board.length; i++) { for(int j = 0; j < board[i].length; j++) { System.out.print(board[i][j] + " "); } System.out.println(""); } } /** * 다차원 배열의 특정 칸과 연결된 영역을 검색하는 알고리즘. * 그림판의 채우기와 같은 기능. * ..
[JAVA] BFS 최단거리 구현 class Solution { @Test public void solution() { int[][] graph = new int[][] { {0,0,0,0,0}, {0,1,1,1,1}, {0,0,0,0,0}, {1,1,1,1,0}, {0,0,0,0,0}, }; 최단경로(graph, 0, 1, 4, 2); } /** * BFS를 활용해 최단경로를 구하기 위한 방법 * @param board 2차원 배열. (값이 0인 영역만 이동하도록 구성됨, 1은 벽) * @param sr - 시작 row * @param sc - 시작 col * @param er - 도착지 row * @param ec - 도착지 col */ void 최단경로(int[][] board, int sr, int sc, int er, int e..
[JAVA] BFS 큐 구현 import java.util.*; class Solution { int n = 5; @Test public void solution() { int[][] graph = new int[n][6]; graph[0][1] = graph[1][0]= 1; graph[0][2] = graph[2][0] = 1; graph[1][3] = graph[3][1] = 1; graph[1][4] = graph[4][1] = 1; graph[2][4] = graph[4][2] = 1; graph[3][4] = graph[4][3] = 1; bfs(graph, 0); } /** * @param graph - 그래프 * @param node - 시작 노드 */ void bfs(int[][] graph, int node) { ..
[JAVA] DFS 재귀 호출 구현 import java.util.*; class Solution { /** * * @param n - 노드의 수 * @param graph - 노드간의 간선이 표현된 그래프 */ @Test public void solution() { int n = 5; int[][] graph = new int[5][6]; graph[0][1] = graph[1][0]= 1; graph[0][2] = graph[2][0] = 1; graph[1][3] = graph[3][1] = 1; graph[1][4] = graph[4][1] = 1; graph[2][4] = graph[4][2] = 1; graph[3][4] = graph[4][3] = 1; dfs(0, graph, new boolean[5]); } public v..
[JAVA] DFS Stack 구현 import java.util.*; class Solution { int n = 5; /** * 스택 구조이므로 DFS의 반대 순서로 동작한다. (간선에 방향이 없어야하며, 동일하게 연결되어야한다.) * @param n - 노드의 수 * @param graph - 노드간의 간선이 표현된 그래프 */ @Test public void solution() { int[][] graph = new int[n][6]; graph[0][1] = graph[1][0]= 1; graph[0][2] = graph[2][0] = 1; graph[1][3] = graph[3][1] = 1; graph[1][4] = graph[4][1] = 1; graph[2][4] = graph[4][2] = 1; graph[3][4] = ..
2021 카카오 코테 문제 - 광고삽입 [Kotlin] 2021 카카오 코드 테스트의 5번 문제 광고 삽입 대한 풀이입니다. 문제에 대한 설명과 풀이는 kakao Tech에서 확인할 수 있으며, 이 포스트에서는 kotlin으로 문제를 해결하는 방법을 작성하겠습니다. 입력값 play_time:String = 동영상의 총길이를 "HH:MM:SS" 형식으로 나타낸 문자열 adv_time:String = 광고 영상의 총길이를 "HH:MM:SS" 형식으로 나타낸 문자열 logs:Array = 시청자들의 누적 재생시간을 "HH:MM:SS-HH:MM:SS" 형식으로 나타낸 배열 출력 결과 answer:String = 광고 영상 삽입 시 최고 누적 재생시간의 시작시간을 "HH:MM:SS" 형식으로 나타낸 문자열 설명 광고 영상을 어느 시간에 삽입해야 시청자의 누적 재생시간..
2021 카카오 코테 문제 - 순위 검색 풀이 [Kotlin] 2021 카카오 코드 테스트의 문제 3번인 순위 검색에 대한 풀이입니다. 아직 배울 것이 많아 코드에 부족함이 있을 수 있으니 변경할 수 있는 점이 있다면 조언 부탁드립니다. 문제에 대한 설명과 풀이는 kakao Tech에서 확인할 수 있으며, 이 포스트에서는 설명과 풀이를 이용하여 kotlin으로 해결하는 방법을 작성하겠습니다. 2021 카카오 신입공채 1차 온라인 코딩 테스트 for Tech developers 문제해설 지난 2020년 9월 12일 토요일 오후 2시부터 7시까지 5시간 동안 2021 카카오 신입 개발자 공채 1차 코딩 테스트가 진행되었습니다. 테스트에는 총 7개의 문제가 출제되었으며, 개발 언어는 C++, Java, Jav tech.kakao.com 추가로 아래의 ezsw님의 Yout..