본문 바로가기
반응형

코딩테스트 준비212

백준 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# - 백준 코드 처리 속도(실행 시간) 측정 방법 +) Stopwatch 프로퍼티 및 메서드 설명 Stopwatch Stopwatch 클래스를 사용하기 위해서는 using System.Diagnostics; 네임스페이스를 추가해야한다. using System.Diagnostics; 01 인스턴스 생성 및 코드 실행 시간 측정 시작 Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); 02 코드 실행 시간 측정 종료 stopwatch.Stop(); 03 코드 실행 시간 출력 // 측정된 시간 출력 Console.WriteLine($"코드 실행 시간: {stopwatch.Elapsed}"); // 측정된 시간 출력 (밀리초 단위) Console.WriteLine($"코드 실행 시간 (밀리초): {stopwatch.ElapsedMilliseconds}");.. 2024. 3. 17.
C# - 우선순위 큐(Priority Queue)와 힙(Heap) Queue 큐는 FIFO구조로 먼저 들어온 데이터가 먼저 나가는 구조이다. Priority Queue 들어간 순서와 상관없이 우선순위가 높은 데이터가 먼저 나온다. 예를 들어 물건 데이터를 자료구조에 넣었다가 가치가 높은 물건보다 꺼내서 확인해야 하는 경우이다. 우선순위큐를 구현하는 방법 01 리스트를 이용 데이터의 개수가 N개 일 때, 구현 방식에 따라서 시간 복잡도 삽입시간 O(1), 삭제 시간 O(N) 02 힙(Heap)을 이용 데이터의 개수가 N개 일 때, 구현 방식에 따라서 시간 복잡도 삽입시간 O(logN) (힙의 조건을 유지하기 위해 부모 노드와 비교하면서 올라간다) ,삭제 시간 O(logN)(루트 노드를 삭제한 후 힙을 재조정해야 한다) Heap 완전 이진 트리 자료 구조의 일종이다. 항상.. 2024. 3. 16.
백준 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.
프로그래머스 - 카펫 완전탐색 분야라서 어떻게 풀지하다가 힌트를 조금 봤는데 찐 수학문제였다. 그림에서 아래와 같이 두 가지의 수식을 찾을 수 있다. (x는 가로길이, y는 세로길이) 위의 수식을 조합해서 가로 세로 길이를 구해야 한다. 01 첫번째 코드 위의 yellow = x * y 는 x = yellow / y로 바꿀 수 있다. 이를 이용해서 수식을 짜보면 아래와 같이 나온다. for(int y = 1; y 2024. 3. 5.
반응형