[이코테] 문제1 - 위에서 아래로(178p) (한줄평) 정렬 알고리즘 예제 문제 수준으로 여러가지 정렬 알고리즘을 연습해볼 수 있는 문제! 퀵 정렬만 조금 더 연습해보면 좋을 듯! 이 문제는 n개의 수가 주어지고 내림차순 정렬을 하는 문제다. 수의 개수가 500개 이하로 매우 적고 모든 수는 1이상 100,000이하로 어떠한 정렬 알고리즘을 사용해도 해결할 수 있다. (풀이1) 파이썬 기본 정렬 라이브러리 이용 풀이 시간: 3분 이내 1) 문제 해결 아이디어 가장 단순한 방법으로 sorted()를 이용하여 해결하였다. 2) 소스코드 n = int(input()) arr = [int(input()) for _ in range(n)] # n개의 수 # 1. 정렬 라이브러리(내림차순) #print(*sort..
[이코테] 예제2 - 삽입 정렬(Insertion Sort)(164p) 풀이 시간: 1) 문제 해결 아이디어 정렬된 데이터 리스트에서 적절한 위치를 찾은 뒤에 그 위치에 삽입 (첫번째 데이터는 정렬되어있다고 가정, 2번째 데이터부터 정렬 시작) 평균 시간 복잡도: O(n**2) 공간 복잡도: O(n) 2) 소스코드 # 선택 정렬(Insertion Sort) array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] # 오름차순 정렬 # 1번 인덱스부터 시작 for i in range(1, len(array)): # 0 ~ i 인덱스 정렬 for j in range(i, 0, -1): # 현재값이 왼쪽값보다 크면 탈출 if array[j] > array[j - 1]: break # 현재값이 왼쪽..