STUDY/Coding Test 8

[하계 코딩테스트 특강] 2022.07.28 그래프, 트리 알고리즘

1) 다익스트라 알고리즘 우선순위 표를 만들어 구함 [1, 2, 12] : 1번 정점에서 2번 정점까지 가는 데 드는 비용 12 - java package ch08; import java.io.*; import java.util.*; class Edge implements Comparable{ public int vex; public int cost; Edge(int vex, int cost){ this.vex = vex; this.cost = cost; } @Override public int compareTo(Edge ob){ return this.cost - ob.cost; } } public class 다익스트라알고리즘 { public int solution(int n, int[][] edges,..

STUDY/Coding Test 2022.07.28

[하계 코딩테스트 특강] 2022.07.21 DFS, BFS

1) 재귀함수 - java import java.io.*; import java.lang.reflect.Array; import java.util.*; public class Main { public void DFS(int n){ if(n==0) return; else { DFS(n-1); System.out.print(n + " "); } } public static void main(String[] args){ Main T = new Main(); T.DFS(3); } } - python 2) 재귀함수를 이용한 이진수 출력 - java import java.io.*; import java.lang.reflect.Array; import java.util.*; public class Main { pub..

STUDY/Coding Test 2022.07.21

[하계 코딩테스트 특강] 2022.07.12 자료구조 (스택, 큐)

# Stack # Queue # PriorityQueue 1) 올바른 괄호 - java import java.io.*; import java.util.*; public class Main { public String solution(String s){ String ans = "YES"; Stack stack = new Stack(); for(char x : s.toCharArray()){ if(x == '(') stack.push(x); else { if(stack.empty()) return "NO"; stack.pop(); } } if(!stack.isEmpty()) return "NO"; return ans; } public static void main(String[] args) throws IO..

STUDY/Coding Test 2022.07.12

[하계 코딩테스트 특강] 2022.07.07 배열 시뮬레이션

1) 제곱수 정렬 - java import java.io.*; import java.util.*; public class Main { public int[] solution(int[] arr){ int n = arr.length; int[] ans = new int[n]; int left = 0; int right = n-1; for(int i=n-1; i >= 0; i--){ if(Math.abs(arr[left]) < Math.abs(arr[right])){ ans[i] = arr[right] * arr[right]; right--; } else { ans[i] = arr[left] * arr[left]; left++; } } return ans; } public static void main(Str..

STUDY/Coding Test 2022.07.07