문제 출처 Lv.3 네트워크 - JavaScript https://school.programmers.co.kr/learn/courses/30/lessons/43162 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한 조건 ..
문제 출처 Lv.2 타겟 넘버 - JavaScript https://school.programmers.co.kr/learn/courses/30/lessons/43165 DFS 풀이 https://naho199345.tistory.com/entry/f-7 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때..
BFS(Breadth-First Search) 그래프 탐색 알고리즘 중 하나로, 너비 우선 탐색이라고도 합니다. 이 알고리즘은 그래프를 너비 방향으로 탐색하여 시작 노드에서부터 레벨별로 탐색을 진행합니다. BFS는 시작 노드에서부터 가까운 이웃 노드부터 순차적으로 방문하며, 레벨별로 탐색하면서 최단 경로를 찾는 데 유용합니다. BFS의 동작 방식은 다음과 같습니다: 시작 노드를 방문하고, 방문한 노드를 큐(Queue)에 추가합니다. 큐에서 노드를 하나씩 꺼내어 방문하고, 해당 노드의 모든 이웃 노드를 큐에 추가합니다. 큐가 빌 때까지 위 과정을 반복합니다. BFS는 레벨 단위로 탐색하기 때문에, 같은 레벨에 있는 노드들을 모두 탐색한 후에 다음 레벨로 넘어갑니다. 이로 인해 시작 노드로부터의 최단 경로를..
문제 출처 Lv.2 타겟 넘버 - JavaScript https://school.programmers.co.kr/learn/courses/30/lessons/43165 BFS 풀이 https://naho199345.tistory.com/entry/%E3%84%B7 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로..