Coding Test/Algorithm Study (3) 썸네일형 리스트형 [프로그래머스 고득점 Kit / 깊이/너비 우선 탐색(DFS/BFS) 깊이/너비 우선 탐색(DFS/BFS)DFS(Depth-First Search)와 BFS(Breadth-First Search)는 그래프나 트리 구조에서 노드를 탐색하는 대표적인 알고리즘DFS : DFS는 한 경로를 끝까지 탐색한 후, 다른 경로를 탐색하는 방식"깊이"를 우선적으로 탐색하며, 더 이상 갈 곳이 없으면 이전 경로로 돌아옴(백트래킹)BFS : BFS는 현재 노드와 인접한 노드를 모두 방문한 후, 다음 단계로 넘어가는 방식"너비"를 우선적으로 탐색하며, 한 레벨씩 차례대로 방문LV2. 타겟 넘버 (정답률 63%)모든 경우의 수를 탐색해야 하므로, DFS(깊이 우선 탐색)를 사용했다. DFS를 통해 각 숫자에 + 또는 -를 선택하며 끝까지 탐색한 뒤, 합이 목표 값과 일치하면 카운트를 증가시키는 .. [프로그래머스 고득점 Kit / 완전탐색] 완전탐색완전탐색은 가능한 모든 경우를 하나씩 시도하며 답을 찾는 방법문제를 해결하기 위해 모든 경우의 수를 탐색하기 때문에 정확한 답을 보장하지만, 경우의 수가 많아지면 비효율적일 수 있음주로 반복문, 재귀(DFS), 백트래킹 등을 활용해 구현장점: 구현이 간단하고 정확한 답을 보장단점: 입력 크기가 커지면 비효율적완전탐색은 입력 크기가 작거나 최적화가 필요 없는 문제에서 유용하게 사용됨LV1. 최소직사각형 (정답률 74%)각 명함의 가로와 세로 중 큰 값과, 작은 값을 따로따로 리스트에 저장한 뒤, 각각의 최댓값을 곱하여 해결했다.내 풀이function solution(sizes) { const maxList = []; const minList = []; sizes.forEach(s=>.. [프로그래머스 고득점 Kit / 탐욕법(Greedy)] Greedy?매 순간 가장 최적이라고 생각되는 선택을 하면서 문제를 해결하는 방법=> 지금 단계에서 최선의 선택이 최종적으로 최적의 해를 보장한다고 가정!But, Greedy가 항상 최적의 해를 보장하지는 않음 LV1. 체육복체육복이 없는 사람을 기준으로 그때그때 앞/뒤에서 빌리도록 하여 문제 해결!내 풀이function solution(n, lost, reserve) { const students = Array.from({length:n}).map(i=>1) lost.forEach(l=>students[l-1] -= 1) reserve.forEach(r=>students[r-1] += 1) for (let i = 0; is>0).length }1. 모든 학생들이 현재 .. 이전 1 다음