본문 바로가기
728x90

분류 전체보기102

[99클럽 코테 스터디] 33일차 TIL DFS/BFS 오늘의 문제는 LeetCode 1530. Number of Good Leaf Nodes Pairs  문제   문제 설명 주어진 이진 트리의 루트와 정수 distance를 바탕으로 서로 다른 리프 노드 간의 최단 경로 길이가 distance 이하인 좋은 리프 노드 쌍의 개수를 구하는 문제입니다. 이진 트리에서 리프 노드 쌍들 사이의 경로 길이를 계산한 후, 그 길이가 주어진 distance 이하인 쌍들의 수를 반환해야 합니다.    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 47분이 걸렸습니다.   문제 접근 방식모든 리프 노드를 찾고 각 리프 노드까지의 경로를 저장합니다. 그런 다음, 모든 리프 노드의 쌍을 비교해 두 리프 노드 간의 경로가 distance 이하인 경우를 확인하고 그 수를 셉니.. 2024. 8. 23.
[99클럽 코테 스터디] 32일차 TIL DFS/BFS 오늘의 문제는 백준 6080. Bad Grass  문제   문제 설명 목초지의 각 구역의 고도를 측정하여, 고도가 1 이상인 구역들이 서로 인접해 있을 경우 하나의 Bad Grass으로 간주하고, 이러한 섬의 개수를 계산하는 문제입니다. 인접한 구역은 수평, 수직, 대각선으로 연결된 경우를 포함합니다.   문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 50분이 걸렸습니다.   문제 접근 방식BFS를 사용해 Bad Grass의 개수를 계산합니다. 주어진 2차원 배열에서 고도가 1 이상인 구역을 섬으로 간주하고, 인접한 모든 방향으로 연결된 구역들을 탐색하여 하나의 섬으로 묶습니다. 각 섬을 발견할 때마다 BFS를 수행하여 해당 섬에 속하는 모든 구역을 방문 처리하고, 섬의 개수를 증가시킵니다. 이렇.. 2024. 8. 22.
[99클럽 코테 스터디] 31일차 TIL DFS/BFS 오늘의 문제는 백준 6188. Clear Cold Water  문제   문제 설명 농장에서 출발하여 N개의 파이프가 트리 구조로 연결된 시스템에서, 각 파이프의 끝점까지의 거리를 계산하여 가장 차가운 물이 흐르는 곳을 찾는 문제입니다. 각 파이프의 길이는 1이며, 입력으로 주어진 파이프 연결 정보를 바탕으로 헛간에서 각 파이프 끝점까지의 최단 거리를 출력해야 합니다.   문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 52분이 걸렸습니다.   문제 접근 방식먼저 트리를 인접 리스트로 표현한 다음 각 노드에서 연결된 노드를 탐색하며 거리를 계산했습니다. 시작점인 파이프 1부터 BFS를 수행하여 각 노드까지의 거리를 구하고, 이 거리를 배열에 저장한 후 모든 파이프의 끝점까지의 거리를 출력하는 방식으로.. 2024. 8. 21.
[99클럽 코테 스터디] 30일차 TIL 이분탐색 오늘의 문제는 LeetCode 441. Arranging Coins  문제   문제 설명 정수 n이 주어집니다. n개의 동전으로 계단을 만들려고 할 때 계단은 i번째 행의 i개의 동전이 있는 k개의 행으로 구성됩니다. 계단의 마지막 행이 불완전 할 수 있다고 할 때 완전하게 지을 수 있는 계단 행의 수를 구하는 문제입니다.  예를 들어 n이 5라면 위 그림에서 확인할 수 있듯이 동전으로 완전하게 만들 수 있는 계단 행의 수는 2 이므로 2를 반환하면 됩니다.    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 18분이 걸렸습니다.   문제 접근 방식계단의 높이만큼 필요한 동전의 개수를 빼는 방식을 통해 문제를 해결했습니다. 먼저 계단의 개수를 나타내는 변수 cnt와 각 계단에 필요한 동전의 개수를.. 2024. 8. 20.
[99클럽 코테 스터디] 29일차 TIL 이분탐색 오늘의 문제는 LeetCode 268. Missing Number  문제   문제 설명 정수형 배열 nums가 주어집니다. nums는 0부터 n까지의 서로 다른 숫자를 포함합니다. 이 때 배열에서 누락된 숫자를 반환하면 됩니다. 예를 들어 nums = [3,0,1] 일 때 [0,3] 범위의 숫자가 배열에 포함되어 있어야 하는데 2가 없으므로 2를 반환하면 됩니다.    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 18분이 걸렸습니다.   문제 접근 방식주어진 배열 nums를 오름차순 정렬합니다. 정렬된 배열에서 마지막 요소를 배열의 최대값으로 설정합니다. 이후 배열의 길이와 최대값을 비교하여 최대값이 배열의 길이와 다를 경우, 최대값이 배열 내에 없다는 것을 의미하므로 배열의 길이를 반환합니다... 2024. 8. 19.
728x90