Algorithm 공부 #05 - 정렬(버블 정렬과 선택 정렬) 정렬 데이터를 정해진 기준에 따라 배치에 의미 있는 구조로 재설정하는 것 ● 버블 정렬 (Bubble Sort) : 데이터의 인접 요소끼리 비교하고 swap연산을 수행하며 정렬 ● 선택 정렬 (Selection Sort) : 대상에서 가장 크거나 가장 작은 데이터를 찾아가 선택을 반복하면서 정렬 ● 삽입 정렬 (Insertion Sort) : 대상을 선택해 정렬된 영역에서 선택 데이터의 적절한 위치를 찾아 삽입하며 정렬 ● 퀵 정렬 (Quick Sort) : pivot값을 선정해 해당 값을 기준으로 정렬 ● 병합 정렬 (Merge Sort) : 이미 정렬된 부분 집합들을 효율적으로 병합해 전체를 정렬 ● 기수 정렬 (Radix Sort) :..
✏️ 문제 링크 https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 큐 중에서도 우선순위 큐를 이용해서 푸는 문제 우선순위 큐를 생성하고 compare구조체를 만들어서 조건에 맞게 출력하도록 해야함 1. x가 0인 경우 if(큐가 비어있지 않다면) 절댓값이 가장 작은 값을 => 같은 게 있다면 음수를 출력 그리고 그 값을 제거 if(큐가 비어있다면) 0을 출력 2. x가 0이 아닌 경우 : x를..
✏️ 문제 링크 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 ※ 스택을 이용해서 푸는 문제 ※ ● 스택에 새로 들어오는 수가 top존재하는 수보다 크면 그 수는 오큰수가 된다 ● 오큰수를 구한 후 수열에서 오큰수가 존재하지 않는 숫자에 -1을 출력해야 한다 ● 스택이 채워져 있고 A[index] > A[top]라면 pop한 인덱스를 이용하여 정답 수열에 오큰수를 저장 ● 현재 인덱스를 스택에 push하고 다음 인덱스로 ..
백준 1874번 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net ● 스택의 후입선출 구조를 이용하는 문제 ● 현재 수열 값 >= 자연수 while(수열 값>=자연수){ stack.push(자연수); 자연수++; result.push_back('+'); } stack.pop(); result.push_back('-'); → 만약 현재 수열 값이 4이고 자..
- Total
- Today
- Yesterday
- html
- 자바
- 유니온 파인드
- DFS
- BFS
- c++ string
- 자바스크립트
- C++ Stack
- java
- HTML5
- 알고리즘 공부
- DP
- C++
- 스프링 부트 crud 게시판 구현
- 자료구조
- 유클리드 호제법
- 에라토스테네스의 체
- 우선순위 큐
- 투 포인터
- Do it!
- js
- 반복문
- CSS
- 스택
- 카운팅 정렬
- 백준 풀이
- 세그먼트 트리
- 백준
- 알고리즘
- 이분 매칭
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |