본문 바로가기

Development/Baekjoon102

[C#] 2751번: 수 정렬하기 2 목차백준 단계별로 풀어보기25.10.1813단계: 정렬2751번: 수 정렬하기 2문제 링크 : https://www.acmicpc.net/problem/2751 문제 풀이>> 문제를 풀기 위해 알아야 할 개념- 퀵 정렬(Quick Sort): 분할 정복 방법을 통해 정렬하는 알고리즘으로 다음과 같은 과정을 통해 정렬한다.원소 하나를 기준(피벗, pivot)으로 삼는다.피벗보다 작은 것을 앞으로 빼내고 그 뒤에 피벗을 옮겨 피벗보다 작은 것, 큰 것으로 나눈다. --> 이를 'partition step'이라 한다.나누어진 각각에서 다시 피벗을 잡고 정렬해서 각각의 크기가 0이나 1이 될 때까지 정렬한다.→ 퀵 정렬의 핵심은 어떻게 pivot을 선정하는가?: 피벗을 최솟값이나 최댓값으로 계속해서 잡게 되는 .. 2025. 10. 18.
[C#] 25305번: 커트라인 목차백준 단계별로 풀어보기25.10.1713단계: 정렬25305번: 커트라인문제 링크 : https://www.acmicpc.net/problem/25305 문제 풀이>> 문제를 풀기 위해 알아야 할 개념- 선택 정렬(Selection Sort): 1번째 원소부터 끝까지 훑어서 가장 작은 게 1번째 원소, 그 다음엔 2번째 원소부터 끝까지 훑어서 가장 작은게 2번째 원소와 같은 방식으로 (n - 1)번 반복하여 정렬한다.어떻게 정렬이 되어 있든 일관성 있게 n(n - 1) / 2 에 비례하는 시간이 걸린다.버블 정렬에 비해 두 배 정도 빠르다. - 코드for (int i = 0; i ※ 이해를 위한 영상 >> 풀이입력값을 받아 int값으로 변환하여 응시자 수를 담을 변수 count 와 상을 받는 사람의.. 2025. 10. 17.
[C#] 2587번: 대표값2 목차백준 단계별로 풀어보기25.10.1613단계: 정렬2587번: 대표값2문제 링크 : https://www.acmicpc.net/problem/2587 문제 풀이>> 문제를 풀기 위해 알아야 할 개념- 삽입 정렬(Insertion Sort): k번째 원소를 1부터 k-1까지와 비교해 적절한 위치에 끼워넣고 그 뒤의 자료를 한 칸씩 뒤로 밀어내는 방식으로 정렬한다.시간 복잡도 O(n²)의 정렬들 중 빠른 편이나, 자료구조에 따라선 뒤로 밀어내는데 걸리는 시간이 크다.이미 정렬되어 있는 자료구조에 자료를 하나씩 삽입/제거하는 경우에는 최고의 정렬 알고리즘이 되는데, 탐색을 제외한 오버헤드가 매우 적기 때문이다.배열이 작을 경우에 상당히 효율적이다. - 코드public void InsertionSort(in.. 2025. 10. 16.
[C#] 2750번: 수 정렬하기 목차백준 단계별로 풀어보기25.10.1513단계: 정렬2750번: 수 정렬하기문제 링크 : https://www.acmicpc.net/problem/2750 문제 풀이>> 문제를 풀기 위해 알아야 할 개념- 버블 정렬(Bubble Sort): 인접한 두 원소를 비교하여 정렬하는 간단한 알고리즘--> 1번째 원소와 2번째 원소를 비교하여 정렬하는 식으로 n-1번째와 n번째를 정렬한 뒤 다시 처음으로 돌아가 이번에는 n-2번째와 n-1번째까지 정렬하는 방식으로 반복하여 정렬한다. - 코드public void BubbleSort(int[] arr){ int n = arr.Length; for (int i = 0; i arr[j]) { (arr[j - .. 2025. 10. 15.
[C#] 2839번: 설탕 배달 목차백준 단계별로 풀어보기25.10.1412단계: 브루트 포스2839번: 설탕 배달문제 링크 : https://www.acmicpc.net/problem/2839 문제 풀이>> 풀이N 킬로그램을 입력받아 int값으로 변환하고 봉지의 최소 개수를 담을 변수 result를 -1로 초기화한다.for 반복문을 활용하여 아래와 같은 과정을 통해 5kg 봉지와 3kg 봉지를 몇 개 가져가면 되는지 계산한다. 5kg 봉지를 최대한 많이 쓰는 경우부터 아예 안 쓰는 경우까지 점차 i를 감소시킨다. 5kg 봉지를 쓰고 남은 무게는 'input - i × 5' 이므로 이를 변수 remain에 담는다. remain을 3으로 나눈 나머지가 0으로 딱 떨어지면 5kg 봉지와 3kg 봉지를 최소한으로 사용한 것이.. 2025. 10. 14.
[C#] 1436번: 영화감독 숌 목차백준 단계별로 풀어보기25.10.1212단계: 브루트 포스1436번: 영화감독 숌문제 링크 : https://www.acmicpc.net/problem/1436 문제 풀이>> 풀이입력값을 받아 int값으로 변환하고, 찾은 '종말의 수'가 몇 번째로 작은 수인지를 담을 변수 count를 선언하고, 숫자를 담을 변수 number를 가장 작은 '종말을 나타내는 수'인 '666'으로 초기화한다.while 반복문을 통해 number를 계속 높여가며 아래 과정을 반복하여 종말을 나타내는 수를 찾는다. number에서 '666'을 찾기 위해 문자열 string으로 변환한다. for문을 통해 '666'이 연속으로 나오면 count를 높여주고 for문을 break한다. --> i를 큰 수부터 작은 수까지 .. 2025. 10. 12.