본문 바로가기
728x90

🍪 Ect/#Study42

[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.
[99클럽 코테 스터디] 28일차 TIL 스택/큐 오늘의 문제는 프로그래머스 프로세스  문제   문제 설명 프로세스의 우선순위가 담긴 배열 priorities와 몇 특정 프로세스의 위치를 나타내는 location이 매개변수로 주어졌을 때 해당 위치의 프로세스가 몇 번째로 실행되는지를 반환하는 문제입니다. 예를 들어 입력이 priorities = [2, 1, 3, 2], location = 2 인 경우 1이 반환돼야 합니다.    문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 55분이 걸렸습니다.   문제 접근 방식큐를 사용한 방식으로 문제를 풀었습니다. 먼저 큐에 priorities의 인덱스와 요소를 저장합니다. 그리고 요소를 하나씩 탐색하며 우선순위를 확인합니다. 현재 프로세스 보다 우선순위가 높은 프로세스가 있다면, 현재 프로세스를 큐의 맨 .. 2024. 8. 18.
728x90