![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/d3Zt7x/btsFpQpRIRH/zyCzIL1PT2Kh2EHoNPgwEk/img.jpg)
Algorithm 공부 #06 - 정렬(삽입 정렬과 퀵 정렬) 삽입 정렬(Insertion Sort) ● 이미 정렬된 데이터 범위에 정렬되지 않은 데이터를 적절한 위치에 삽입하며 정렬하는 방식 ● 시간 복잡도는 O(n^2)으로 느린 편이지만 구현 난이도는 쉬움 ● 적절한 삽입 위치를 탐색하는 부분에서 이진 탐색 등과 같은 탐색 알고리즘을 사용하여 시간 복잡도 줄일 수 있음 ● 삽입 정렬 과정 1. 현재 index에 있는 데이터 값을 선택 2. 현재 선택한 데이터가 정렬된 데이터 범위에 삽입될 위치를 탐색 3. 삽입 위치부터 index가 있는 위치까지 shift 연산을 수행 4. 삽입 위치에 현재 선택한 데이터를 삽입하고 indexx++ 연산을 수행 5. 현재 데이터의 크기만큼 index가 커질 때까지, ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Vdajw/btsGdZAbDLI/tH45zfNV4YcYVux9rzo2Xk/img.png)
✏️ 문제 링크 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 스택 구조를 이용해서 푸는 문제 ※ '()' 은 레이저 : 레이저를 기준으로 앞에 쌓여있는 막대의 개수를 더해준다 즉 레이저 앞에 스택에 들어있던 '('의 개수, 즉 스택의 크기를 result에 더해준다. ')' 은 닫히는 막대기 : 막대기가 새롭게 추가된다고 생각하기 new_Bar를 ++시켜주고 괄호가 닫혔으므로 스택에 있던 '('의 짝을 찾았다고 생각하기 ..
- Total
- Today
- Yesterday
- 스택
- java
- 유니온 파인드
- C++ Stack
- 유클리드 호제법
- 이분 매칭
- 백준 풀이
- 알고리즘
- C++
- 최단 경로
- 에라토스테네스의 체
- 백준
- 세그먼트 트리
- BFS
- c++ string
- 투 포인터
- html
- DFS
- js
- HTML5
- 자료구조
- 자바
- DP
- Do it!
- 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 |
31 |