프로그래머스38 프로그래머스 2레벨 - 타겟 넘버 문제 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이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이하인.. 2024. 9. 7. BFS, DFS (깊이 우선 탐색, 너비 우선 탐색) BFS (너비 우선 탐색)- 가까운 노드부터 우선적으로 탐색하는 알고리즘- 큐를 이용한다. 1. 시작 노드를 큐에 넣고 방문처리 한다.2. 노드를 하나 꺼내고, 인접 노드 중 방문하지 않은 노드를 모두 큐에 넣은 후 방문처리 한다.3. 더 이상 방문할 점이 없다면 한 층 내려가 인접한 모든 정점들을 방문한다. import java.util.*val queue: Queue = LinkedList()// 이웃 자식을 알아두기 위한 큐val visited = BooleanArray(100) // 정점이 100개라고 가정val edges = Array(100) { ArrayList() } // 그래프의 인접 리스트fun bfs(start : Int){ queue.add(start) visited[start.. 2024. 9. 7. 이전 1 ··· 4 5 6 7 다음 728x90 반응형