본문 바로가기
반응형

코딩테스트 준비212

백준 C# - 11725 +) 풀이 문제를 읽고 일단 그려봐야겠다는 생각이 들어서 그려보았다. 7 1 6 6 3 3 5 4 1 2 4 4 7 각 노드의 부모 노드 번호 그린 후 어느 알고리즘을 사용할까 하다가 DFS를 사용하기로 했다. 01 DFS 알고리즘 선택된 노드에서는 방문했다고 표시를 하고 부모노드를 기입하도록 하였다. public static void DFS(int node) { visited[node] = true; foreach (int neighbor in graph[node]) { if (!visited[neighbor]) { parent[neighbor] = node; DFS(neighbor); } } } 02 그래프 생성 int N = int.Parse(Console.ReadLine()); graph = new List.. 2024. 3. 4.
백준 C# - 17219 코드 전문 using System; using System.Collections.Generic; using System.Text; namespace baek2 { class Program { public static void Main() { string[] token = Console.ReadLine().Split(); int n = int.Parse(token[0]); int m = int.Parse(token[1]); Dictionary dic = new Dictionary(); StringBuilder sb = new StringBuilder(); for(int i = 1; i 2024. 2. 24.
백준 C# - 1620 +) 풀이 이 문제를 풀기 앞서 할 수 있어야 하는 2가지 01 Dictionary에서 value이용해서 Key값 가져오는 법 Dictionary dic = new Dictionary(); var keys = new List(dic.Keys); string key = keys[4]; 02 Dictionary에서 Key값 이용해서 Value값 가져오는 법 string keyToFind = "piggy"; string value = dict[keyToFind]; 코드 전문 using System; using System.Collections.Generic; using System.Text; namespace baek2 { class Program { public static void Main() { string[] t.. 2024. 2. 24.
백준 C# - 7785 코드 전문 using System; using System.Collections.Generic; using System.Text; namespace baek2 { class Program { public static void Main() { int n = int.Parse(Console.ReadLine()); Dictionary ht = new Dictionary(); StringBuilder sb = new StringBuilder(); for(int i = 0; i< n;i++) { string[] token = Console.ReadLine().Split(); if(ht.ContainsKey(token[0])) ht.Remove(token[0]); else ht.Add(token[0], token[.. 2024. 2. 24.
백준 C# - 1920 +) 풀이 문제를 읽어 보았을때 정수가 존재하는지 알아내는지 찾아본다는 구문에 이전에 공부했던 HashSet을 사용해서 풀었는데 알고리즘 분류에는 이분 탐색으로 되어있었다. HashSet을 이용해서 풀면 금방풀린다. 다음에 이분 탐색으로 다시 풀어봐야겠다. HashSet 알아보러가기 C# - Set과 HashSet(Add,Remove,Contains,IntersectWith,UnionWith) Set(Abstract data type) 01 중복을 허용하지 않는다. 중복된 값을 허용하지 않으므로 데이터의 유일성을 보장한다. 그러므로 같은 값을 여러번 저장하더라도 실제로 한 번만 저장된다. 02 순서를 보장 code-piggy.tistory.com 코드 전문 using System; using System.Colle.. 2024. 2. 24.
백준 C# - 15666 +) 풀이 문제를 풀기 앞서 아래 문제를 먼저 풀고 오는 것을 추천한다. 백준 C# - 15652 +) 풀이 N과 M(4)번 문제이다. 앞서 N과 M(2)번 문제와 비슷한 문제이다. 하지만 2번과 달리 4번에서는 같은 숫자를 골라도 된다. N과 M(2)번 알고리즘 살펴보기 if (!visited[i]) { visited[i] = true; arr[depth] = i; Dfs(i, d code-piggy.tistory.com N과 M(4)문제와 다른 점 - 중복되는 수열이 여러 번 출력되지 않아야 한다. 그래서 어떻게 풀어야할까 하다가 HashSet을 생각해냈다. HashSet의 가장 큰 특징은 중복을 사용하지 않는 것이다, 그러므로 수열을 저장할때 HashSet을 사용하였다. if(depth == M) { for(.. 2024. 2. 21.
반응형