[Sorting] 정렬 알고리즘 정리 + 선택/삽입/퀵/계수 정렬
정렬이란 ? 정렬(Sorting)이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 말한다. 정렬 알고리즘으로 데이터를 정렬하면 다음 장에서 배울 이진 탐색(Binary Search)이 가능해진다. (정렬 알고리즘은 이진 탐색의 전처리 과정) ⇒ 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬만 다룰 예정 선택 정렬(Selection Sort) 알고리즘 array = [7,5,9,0,3,1,6,2,4,8] for i in range(len(array)): min_index = i # 가장 작은 원소의 인덱스 for j in range(i+1,len(array)): if array[min_index] > array[j]: min_index=j # 스와프(Swap)란 특정한 리스트가 주어졌을 때 두 변..
2023. 2. 21.
[백준 14503번] 로봇 청소기
import sys input = sys.stdin.readline from collections import deque #방의 크기 세로(n), 가로(m) n, m = map(int,input().split()) # 칸의 좌표(r,c), 방향(d) r, c, d = map(int,input().split()) # 영역 초기화 area = [[0]*m for _ in range(n)] # 방문 여부 확인 리스트 # visited = [[False]*m for _ in range(n)] count = 0 for i in range(n): area[i] = list(map(int,input().split())) def dfs(x,y,d): global count nx = [0]*4 ny = [0]*4 if ..
2023. 2. 17.