TIL(Today I Learned) (51) 썸네일형 리스트형 [TIL] 99클럽 코테 스터디 12일차 TIL + 백준 7569 토마토 문제 풀이 문제 탐색하기너비우선탐색 알고리즘을 활용하여 문제 풀면 토마토가 모두 익을때까지 며칠이 걸리는 지 구할 수 있습니다.익은 토마토가 있는 위치를 모두 큐에 넣어서 x축 y축 z축 모든 곳의 토마토를 탐색하여 익지 않은 토마토의 위치값을 증가시키며 다시 큐에 담습니다. (토마토는 3단 배열에 담아지게 되는데 익지 않은 토마토를 만났을 때 기존 탐색 노드 위치값 + 1로 위치값을 세팅해주면 됩니다.)이렇게 탐색을 반복하다가 탐색이 모두 끝났을 때 익지 않은 토마토가 하나라도 있으면 -1을 출력하고 모든 토마토가 익었을 때 증가시켰던 토마토의 위치값에서 -1을 한 값을 출력해주면 토마토가 모두 익는 최소 일자를 구할 수 있습니다. 문제 풀이import java.io.BufferedReader;im.. [TIL] 99클럽 코테 스터디 11일차 TIL + 백준 25195 Yes or yes 문제 풀이 문제 탐색하기알고리즘 파악하기곰곰이는 단방향 간선을 따라 이동하는데 이동하지 못하게 되었을 때 투어가 끝난다고 합니다. 투어가 끝나는 경우는 여러가지가 있을 텐데 그 중에서 곰곰이의 팬을 한번도 만나지 않고 투어가 끝났을때가 있는지 판단하면 됩니다.따라서 깊이 우선 탐색 (DFS)을 사용하면 곰곰이의 투어를 하나하나 탐색할 수 있습니다. 재귀호출을 통해서 구현하였는데 다음노드로 넘어가게 되었을 때 곰곰이의 팬이 노드에 존재한다면 "yes" 문자열을 "Yes" 로 변경해줍니다. 재귀호출이 종료되면 다시 탐색을 시작했던 노드로 돌아가게 되는데 이때 돌아간 노드에서의 팬을 만났는지 판단하는 문자열로 리셋해줍니다. 이렇게 탐색을 반복하다가 탐색할 수 있는 노드가 더이상 없고 문자열이 "yes" 로.. [TIL] 99클럽 코테 스터디 10일차 TIL + 백준 18352 특정 거리의 도시 찾기 문제 풀이 문제 탐색하기알고리즘 파악하기각 도시에서 갈 수 있는 도시들을 방문해가면서 처음 시작 도시에서의 거리를 측정해야하는 문제입니다.도시에서 갈 수 있는 모든 도시들을 방문하는 것을 체크하면서 진행하기 위해서는 BFS 알고리즘이 적합하다는 것을 알 수 있습니다. BFS 알고리즘으로 문제 풀이 설계하기너비 우선 탐색(BFS, Breadth-First Search) 이란?그래프 탐색 알고리즘으로, 너비를 우선으로 하여 탐색을 진행합니다. 시작 노드에서 가까운 노드를 우선적으로 탐색하며, 동일 레벨에 있는 노드를 모두 탐색한 후 다음 레벨로 넘어가는 방식입니다. BFS는 일반적으로 큐(Queue) 자료 구조를 사용하여 구현합니다. 따라서 출발지에서 방문할 수 있는 모든 도시를 방문하고 방문하지 않았던 도.. [TIL] 99클럽 코테 스터디 8일차 TIL + 백준 2644 촌수계산 문제 풀이 문제 탐색하기DFS 알고리즘을 활용하여 풀이 설계하기깊이 우선 탐색 알고리즘에 대해서는 아래의 게시글에 개념을 설명해두었습니다.https://coding-babo.tistory.com/151 [TIL] 99클럽 코테 스터디 4일차 TIL + 백준 24479 깊이 우선 탐색 1문제 풀이 문제 탐색하기깊이 우선 탐색(DFS, Depth-First Search)그래프 탐색 알고리즘으로, 노드를 탐색할 때 깊이를 우선하여 끝까지 탐색하는 방식입니다. 시작 노드에서 출발하여 갈 수 있는 만coding-babo.tistory.com 촌수를 계산하기 위해서 DFS 알고리즘을 활용하였습니다. 사람을 노드라고 생각하면 방문하는 노드를 배열에 체크하면서 원하는 사람이 나올때까지 탐색을 반복합니다. 재귀호출을 통.. [TIL] 99클럽 코테 스터디 7일차 TIL + 프로그래머스 모음사전 문제 풀이 문제 탐색하기DFS 알고리즘을 활용하여 풀이 설계하기깊이 우선 탐색 알고리즘에 대해서는 아래의 게시글에 개념을 설명해두었습니다.https://coding-babo.tistory.com/151 [TIL] 99클럽 코테 스터디 4일차 TIL + 백준 24479 깊이 우선 탐색 1문제 풀이 문제 탐색하기깊이 우선 탐색(DFS, Depth-First Search)그래프 탐색 알고리즘으로, 노드를 탐색할 때 깊이를 우선하여 끝까지 탐색하는 방식입니다. 시작 노드에서 출발하여 갈 수 있는 만coding-babo.tistory.com DFS는 스택 자료 구조를 사용하여 구현할 수도 있고 재귀호출을 통해 구현할 수도 있습니다.프로그래머스의 모음사전 문제는 재귀호출을 통해 DFS를 구현하였고 완전탐색을 통해 .. [TIL] 99클럽 코테 스터디 6일차 TIL + 백준 2805 나무 자르기 문제 풀이 문제 탐색하기이분탐색을 활용하여 문제 설계하기이분탐색에 대한 개념은 아래 게시글에 정리해두었습니다!https://coding-babo.tistory.com/148 [TIL] 99클럽 코테 스터디 1일차 TIL + 이분 탐색문제 풀이 (백준 1072 게임) 문제 탐색하기위 문제를 풀기 위해서는 고려해야할 점이 3가지가 존재합니다.첫번째 부동소수점 오차를 고려해야합니다.두번째 X가 최대 1000,000,000까지 주어질 수 있coding-babo.tistory.com 바로 이분탐색을 이용하여 문제를 파악해보겠습니다.상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어집니다. 적어도 M을 맞추기 위한 절단기의 높이를 구하는 것이 이 문제의 답입니다.여기서 이분탐색을 실행할 범위를 구할 수 있습니.. [TIL] 99클럽 코테 스터디 5일차 TIL + 백준 24444 너비 우선 탐색 1 문제 풀이 문제 탐색하기너비 우선 탐색(BFS, Breadth-First Search) ?그래프 탐색 알고리즘으로, 너비를 우선으로 하여 탐색을 진행합니다. 시작 노드에서 가까운 노드를 우선적으로 탐색하며, 동일 레벨에 있는 노드를 모두 탐색한 후 다음 레벨로 넘어가는 방식입니다. BFS는 일반적으로 큐(Queue) 자료 구조를 사용하여 구현합니다. BFS의 동작 원리시작 노드를 큐에 삽입하고 방문 처리를 합니다.큐에서 노드를 하나씩 꺼내 해당 노드의 이웃 노드를 모두 큐에 추가합니다. 추가할 때 이웃 노드가 방문되지 않은 경우만 추가합니다.위 과정을 큐가 빌 때까지 반복합니다.BFS의 주요 특징시간 복잡도: O(V + E) (V: 정점 수, E: 간선 수)로 그래프의 모든 노드를 탐색합니다.장점: 최단.. [TIL] 99클럽 코테 스터디 4일차 TIL + 백준 24479 깊이 우선 탐색 1 문제 풀이 문제 탐색하기깊이 우선 탐색(DFS, Depth-First Search)그래프 탐색 알고리즘으로, 노드를 탐색할 때 깊이를 우선하여 끝까지 탐색하는 방식입니다. 시작 노드에서 출발하여 갈 수 있는 만큼 깊이 들어가고, 더 이상 갈 곳이 없으면 직전 노드로 돌아가 다른 경로를 탐색하는 방식으로 진행됩니다. DFS 는 스택 자료 구조를 사용하여 구현할 수도 있고 재귀호출을 통해 구현할 수도 있습니다. DFS의 동작 원리시작 노드에서 출발하여, 방문한 노드를 스택에 저장합니다.현재 노드에서 갈 수 있는 노드가 있다면, 그 노드를 방문하고 스택에 추가합니다.갈 수 있는 노드가 없으면 스택에서 가장 최근 노드를 꺼내와(백트래킹) 다음 가능한 노드를 탐색합니다.위 과정을 모든 노드를 방문할 때까지 반복합.. 이전 1 ··· 3 4 5 6 7 다음