✏️ 문제 링크 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 N이 1000이하이므로 O(n^2)의 삽입 정렬을 이용해도 무방 ※ 인출 시간이 가장 적게 걸리는 사람이 가장 먼저 인출할 수 있도록 순서를 정하기(그리디 방식) ✏️ 문제 코드 #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); i..
✏️ 문제 링크 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 스택 구조를 이용해서 푸는 문제 ※ '()' 은 레이저 : 레이저를 기준으로 앞에 쌓여있는 막대의 개수를 더해준다 즉 레이저 앞에 스택에 들어있던 '('의 개수, 즉 스택의 크기를 result에 더해준다. ')' 은 닫히는 막대기 : 막대기가 새롭게 추가된다고 생각하기 new_Bar를 ++시켜주고 괄호가 닫혔으므로 스택에 있던 '('의 짝을 찾았다고 생각하기 ..
✏️ 문제 링크 https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 false일 때 출력되기 위해서는 버블 정렬 중 swap이 한 번도 일어나지 않은 루프가 언제인지 알아내는 게 핵심 이중 for문을 다 돌리기에는 N의 값이 크기 때문에 버블 정렬로 풀면 시간 초과가 발생할 수 있음 vector를 생성해 pair쌍으로(입력값, 인덱스) push해주고 sort알고리즘을(O(nlogn)) 통해 v..
Algorithm 공부 #05 - 정렬(버블 정렬과 선택 정렬) 정렬 데이터를 정해진 기준에 따라 배치에 의미 있는 구조로 재설정하는 것 ● 버블 정렬 (Bubble Sort) : 데이터의 인접 요소끼리 비교하고 swap연산을 수행하며 정렬 ● 선택 정렬 (Selection Sort) : 대상에서 가장 크거나 가장 작은 데이터를 찾아가 선택을 반복하면서 정렬 ● 삽입 정렬 (Insertion Sort) : 대상을 선택해 정렬된 영역에서 선택 데이터의 적절한 위치를 찾아 삽입하며 정렬 ● 퀵 정렬 (Quick Sort) : pivot값을 선정해 해당 값을 기준으로 정렬 ● 병합 정렬 (Merge Sort) : 이미 정렬된 부분 집합들을 효율적으로 병합해 전체를 정렬 ● 기수 정렬 (Radix Sort) :..
- Total
- Today
- Yesterday
- js
- html
- 자바
- 유클리드 호제법
- 스택
- 알고리즘
- C++
- 우선순위 큐
- DFS
- 에라토스테네스의 체
- 자바스크립트
- 유니온 파인드
- Do it!
- 백준
- HTML5
- c++ string
- 자료구조
- CSS
- 반복문
- 투 포인터
- BFS
- 세그먼트 트리
- java
- 스프링 부트 crud 게시판 구현
- C++ Stack
- 이분 매칭
- DP
- 백준 풀이
- 알고리즘 공부
- 카운팅 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |