본문 바로가기
반응형

코딩테스트 준비/백준 C#161

백준 C# - 2108 +) 풀이 01 산술평균 소수점 이하 첫째 자리에서 반올림한 값을 출력한다. Math.Round를 사용했다. (int)Math.Round(sum / n) 02 중앙값 문제에서 N이 홀수인 조건이 있다. 홀수가 아니였으면 푸는게 복잡했을텐데 홀수이므로 입력받은 값들을 정렬시키고 중간위치에 있는애를 출력하면 된다. (int)list[n/2] 03 최빈값 제일 구하기 복잡했던 최빈값 먼저 생각했던 방법은 Dictionary를 사용해서 입력받은 m이 있는 경우 해당 Value값을 증가시키고 없는 경우 Key가 m, Value가 1인 값을 추가한다. for(int i = 0; i x.Value).ThenBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value); 여러 개 있을 때에는 최.. 2024. 3. 24.
C# - 1966 +) 풀이 기본 셋팅 01 Queue 생성 Tuple의 첫번째 요소에는 index값 두번째 요소에는 중요도를 담는다. Queue queue = new Queue(); int[] input = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); for (int i = 0; i < N; i++) { queue.Enqueue(new Tuple(i, input[i])); } 02 input.Sort() 중요도를 오름차순으로 정렬한다. Array.Sort(input); 03 하나씩 꺼내기 Tuple firstitem = queue.Dequeue(); 주요 알고리즘 01 만약 firstitem이 현재의 제일 큰 중요도와 같을 경우 현재 중요도는 그럼 dequeue됐으니까 다음.. 2024. 3. 17.
백준 C# - 11286 +) 눈물의 풀이 들어가기 앞서 풀다가 못풀겠어서 힌트를 찾아봤는데 C#으로된 정답 코드가 없었다.. Phthon으로 된 코드는 heapq을 이용해서 코드가 간단한데 C#은 없다 눈물.. 그래서 6시간정도 걸렸다. 하핳.. 그래도 통과돼서 뿌듯하다 실패 01 Sort 사용 첫번째로 풀었을때 Sort를 이용해서 풀었는데 2%에서 시간초과가 떴다. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace baek2 { class Program { public static void Main() { List pq = new List(); int n = int.Parse(Console.ReadLine()); for(i.. 2024. 3. 17.
백준 C# - 1235 +) 풀이 오랜만에 푸는 구현 문제! 알고리즘 Distinct를 사용해서 중복된 숫자를 없애주었다. 만약 결과가 학생 수와 같다면 이는 학생번호가 서로 다르다는 뜻이므로 결과를 출력하도록 하였다. 1212345 1212356 0033445 예를 들어 첫번째로 5,6,5의 Distince 결과는 5,6이므로 2가지가 되니까 학생수와 다르니까 정답이 아니다. 두번째로 45,56,45의 결과또한 2가지이므로 정답이 아니다. 마지막 세번째로는 345,356,445가 되니까 answer을 출력하고 return되도록 하였다. string[] numbers = new string[n]; for (int i = students[0].Length - 1; i >= 0; i--) { int count = 0; for (int j =.. 2024. 3. 13.
백준 C# - 1987 풀다보니 백트래킹 문제였다. 풀다보니 헷갈린게 있어서 버벅거렸다 하핳.. 아래 링크에 있는 알고리즘의 큰 맥란이 매우 비슷하다! 알고리즘에 대한 자세한 설명은 아래 게시글에 있다. 백준 C# - 15649 +) 풀이 대표적인 백트래킹 문제이다. 백트래킹 모든 경우의 수를 탐색하며 더 이상 해가 나올 것 같지 않으면 이전으로 돌아가서 다른 경우를 탐색한다. 풀이 원래 알던 DFS 알고리즘에서는 visited[i] = tru code-piggy.tistory.com 코드 전문 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace baek2 { class Program { static char.. 2024. 3. 12.
백준 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.
반응형