내가 못찾는 것일 수도 있지만 시나공 기준으로 개정된 2020 정보처리기사에서 '주요 정렬 알고리즘'에 대한 부분은 제외된 것 같다(?) 그래도 기출도가 높았던 부분이었기에 해당 포스팅에 정리해본다. 삽입정렬 초기상태인 아래의 8,5,6,2,4를 삽입정렬을 사용해 정렬시키면 아래와 같은 과정을 거치게 된다. 1) 1회전 : 두번째 값을 첫번째 값과 비교해 첫번째 자리에 삽입, 8을 뒤로 한칸 이동 2) 2회전 : 세번째 값을 5,6과 비교해 삽입, 8을 뒤로 한칸 이동 3) 3회전 : 네번째 값을 5,6,8과 비교해 삽입, 5,6,8을 뒤로 한칸 이동 4) 4회전 : 다섯번째 값을 2,5,6,8과 비교해 삽입, 5,6,8을 뒤로 한칸 이동 버블정렬 초기상태인 아래의 8,5,6,2,4를 버블정렬을 사용해 ..
정렬 - K번째수, 문제 확인 이번 문제는 정말 간단하다. 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때 k번째있는 수를 구해야 함 배열 array와 [i,j,k]를 원소로 갖는 2차원 배열 commands가 주어짐 정렬 - K번째수, 문제 풀이 commands를 기준으로 반복문을 돌면서 먼저 array를 tmp에 복사한다. 그리고 i(v[0]), j(v[1])대로 tmp를 자른 후 정렬하고 k번째(v[2]-1) 값을 answer 리스트에 추가해주면 된다. def solution(array, commands): answer=[] for v in commands: tmp=array tmp=tmp[v[0]-1:v[1]] tmp.sort() answer.append(tmp[v[2]-1]..