목록전체 글 (159)
할껀하고놀자
list = [20,12,10,15,2] for i in range(len(list)): for j in range(len(list)-1-i): if list[j]>list[j+1]: list[j],list[j+1] = list[j+1],list[j] print(list) 정렬 방법론. 1. N번째 위치와 N+1번째 위치의 값을 비교해서, N+1번째 위치의 값이 더 클 경우 N번째와 N+1번째의 값을 교환함. 특징. 1. 계속 비교하므로 리스트 크기가 크면 불리하다. 2. 정렬이 거의 된 데이터일 경우 더 유리하다.(교환이 적게 일어나므로) 3. 데이터가 역순인경우, 즉 최악의경우에 시간이 엄청 느리다.
list = [20,12,10,15,2] for i in range(len(list)): for j in range(i+1,len(list)): if list[i]>list[j]: list[i],list[j] = list[j],list[i] print(list) 정렬 방법론. 1. 최솟값을 찾아서 0번째 위치와 바꿈. 2. 0번째 위치를 제외한 최솟값을 찾아서 1번째 위치와 바꿈. 3. N번째까지의 위치를 제외한 최솟값을 찾아서 N번째와 바꿈. 4. 끝까지 가면 성공. 특징. 1. 정렬되있는 순서로 들어오던 아니던 실행시간이 비슷하다. 항상 비교하는양이 동일하기 때문. 2. 추가적인 기억장소를 요구하지 않는다.
상어 배열에 넣기 낚시왕 한칸씩 이동 임시 배열 하나 생성(새로운 상어가 놓일 위치 지정용) 가장 가까운 열에 있는 상어 잡기 상어 이동 for문 돌리면서 방향 이동해주기 import sys from sys import stdin # sys.stdin = open('input.txt') input = stdin.readline r, c, m = map(int, input().split()) a = [[[0, 0, 0] for _ in range(c)] for _ in range(r)] for _ in range(m): x, y, s, d, z = map(int, input().split()) a[x-1][y-1] = [s, d-1, z] dx, dy, ans = (-1, 1, 0, 0), (0, 0, 1..