정렬 알고리즘_삽입 정렬
array = [7,5,9,0,3,1,6,2,4,8] for i in range(1,len(array)): # 첫 번째 원소는 이미 정렬된 상태로 2번째 원소부터 시작 for j in range(i,0,-1): # 인덱스 i부터 1까지 감소하며 반복되는 문법 if array[j] < array[j-1]: # 왼쪽에 숫자가 자기 보다 작다면 왼쪽으로 이동 array[j] , array[j-1] = array[j-1],array[j] else: # 자기보다 작은 데이터를 만나면 그 위치에서 멈춤 break print(array)
2022. 12. 29.
정렬 알고리즘 _ 선택정렬
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[j] < array[min_index]: min_index = j array[i], array[min_index] = array[min_index], array[i]#스와프 print(array)
2022. 12. 29.
[백준 / Python] DFS_2606번: 바이러스
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net # 컴퓨터의 수 from pprint import pprint n = int(input()) # 연결되어 있는 컴퓨터 쌍의 수 m = int(input()) graph = [[] * n for _ in range(n + 1)] # 리스트 생성 # [ [], # 1번노드 [2, 5], # 2번노드 [1, 3, 5], # 3번노드 [2], # 4번노드 [7], # 5번노드 [1, 2, 6], # 6번노드 ..
2022. 12. 29.