728x90 전체 글103 [99클럽 코테 스터디] 36일차 TIL 완전탐색 오늘의 문제는 백준 적어도 대부분의 배수 문제 문제 설명 100보다 작거나 같은 다섯개의 자연수가 주여졌을 때, 대부분의 배수를 출력하는 문제입니다. 여기서 대부분의 배수란 입력받는 다섯개의 수 중 적어도 세 개로 나누어지는 가장 작은 자연수를 의미합니다. [입력]첫째 줄에 다섯 개의 자연수가 주어집니다. 100보다 작거나 같은 자연수이고, 서로 다른 수입니다. [출력] 첫째 줄에 적어도 대부분의 배수를 출력해야 합니다. [입력 예시]30 42 70 35 90[출력 예시]210 문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 30분이 걸렸습니다. 문제 접근 방식5개의 자연수를 ArrayList에 입력받습니다. 이후 메서드를 사용하여 ArrayList를 탐색합니다. 이때, 1부터 시작.. 2024. 8. 26. [99클럽 코테 스터디] 35일차 TIL DFS/BFS 오늘의 문제는 백준 2583번 영역 구하기 문제 문제 설명 M x N 크기의 모눈 종이 안에 세 개의 직사각형이 들어있습니다. 이 때 직사각형을 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어지고 그 영역의 넓이가 얼마인지 구하는 문제입니다. [입력]첫 번째 줄 : 100 이하의 자연수 M, N, k가 빈 칸을 사이에 두고 차례로 주어집니다. 다음 줄 : 직사각형의 왼쪽 아래 꼭지점의 x, y 좌표값과 오른쪽 꼭지점의 x,y 좌표값이 빈 칸을 사이에 두고 주어집니다. [출력] 첫째 줄 : 분리되어 나누어지는 영역의 개수를 출력합니다. 둘째 줄 : 각 영역의 넓이를 오름차순으로 정렬하여 빈칸을 사이에 두고 출력합니다. [입력 예시]5 7 30 2 4 41 1 2 54 0 6 2[출력 예시]31.. 2024. 8. 25. [99클럽 코테 스터디] 34일차 TIL DFS/BFS 오늘의 문제는 백준 11123번. 양 한마리... 양 두마리... 문제 문제 설명 2차원 배열에서의 양의 무리 수를 세는 문제입니다. 그리드는 #은 양을 나타내고 .은 풀을 나타내며, 서로 연결된 #은 하나의 양 무리를 나타냅니다. 양이 몇 개의 무리로 나뉘어 있는지 출력해야 합니다. 문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 56분이 걸렸습니다. 문제 접근 방식연속으로 나열된 #을 하나의 양 무리로 간주하기 때문에 DFS를 사용합니다. 각 #에서 시작하여 연결된 모든 #을 방문하는 양의 무리를 탐색합니다. 2차원 배열을 사용해 그리드를 표현하고 탐색이 끝나면 양 무리의 수를 1 증가시킵니다. 문제 풀이import java.io.BufferedReader;import ja.. 2024. 8. 24. [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. 이전 1 2 3 4 5 ··· 13 다음 728x90