본문 바로가기

코딩테스트 준비(kotlin)47

[프로그래머스,kotlin] 네트워크 프로그래머스 네트워크 with kotlin  BFS로 구현 fun solution(n: Int, computers: Array): Int { var answer = 0 val visited = BooleanArray(n) // 노드 방문 여부 체크 배열 fun bfs(start: Int) { val queue: Queue = LinkedList() queue.add(start) visited[start] = true while (queue.isNotEmpty()) { val node = queue.poll() for (i in 0 until n) { if (computers.. 2024. 8. 6.
[프로그래머스, kotli] N으로 표현 풀이dp[i]는 N을 i번 사용하여 만들 수 있는 숫자들의 집합을 의미합니다.초기값으로 dp[1]={N}를 설정합니다.예를 들어, N=5일 때, dp[1]={5}입니다.구체적인 점화식 설명예제: 숫자 N=5 이고 원하는 숫자가 12인 경우dp[1]: 숫자 N을 1번 사용가능한 숫자: {5}dp[2]: 숫자 N을 2번 사용연속으로 붙여서 만든 숫자: {55}dp[1]과 dp[1]을 사칙 연산으로 조합하여 만든 숫자:{5+5, 5−5, 5∗5, 5/5}={10, 0, 25, 1}따라서 dp[2]는 {55, 10, 0, 25, 1}입니다.dp[3]: 숫자 N을 3번 사용연속으로 붙여서 만든 숫자: {555}dp[1]과 dp[2]를 사칙 연산으로 조합하여 만든 숫자:{5+10, 5−10, 5∗10, 5/10}=.. 2024. 8. 5.
[그래프 알고리즘] 크루스칼 알고리즘 Kruskal Algorithm 그래프 알고리즘이란, 그래프와 같은 복잡하고 연결성이 높은 자료구조에서순회 (Graph Traversal), 탐색 및 검색 (Graph Search) 등과 같은 목적으로 사용되는 알고리즘이다. 신장 트리란, 그래프 내의 모든 정점을 포함하는 트리로, 최소의 간선으로 모든 정점이 연결되어 있는 순환성이 없는 부분 그래프이다.  최소 신장 트리 알고리즘이란,최소 신장 트리란 그래프 내의 여러 신장 트리 중 가중치가 최소가 되는 신장 트리를 말하며, 최소 신장 트리 알고리즘은 그래프 내의 최소 신장 트리를 찾는 알고리즘이다.각 엣지에 가중치가 부여된 무방향 그래프에서 만들어지는 신장 트리중 가중치의 합이 가장 작은 신장 트리를 특별히 최소 비용 신장 트리(minimum cost spanning tree)라고 .. 2024. 8. 5.
[프로그래머스 , kotlin] 이중우선순위큐 import java.util.Collectionsimport java.util.PriorityQueuefun solution(operations: Array): IntArray { val minPriorityQueue = PriorityQueue() val maxPriorityQueue = PriorityQueue(Collections.reverseOrder()) val entryCount = mutableMapOf() //각 숫자의 개수를 저장하는 맵 for (i in operations.indices) { val value = operations[i].split(" ") val operation = value[0] val num = valu.. 2024. 8. 1.