Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions 1주차/2750.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# O(N^2)의 시간복잡도를 하기 위해 선택정렬 코드

# A개의 정수를 입력
A = int(input())

# 입력된 정수를 저장할 빈 리스트 A_list를 초기화시키기
A_list = []

# A번 반복하여 정수를 사용자로부터 입력받고 A_list 리스트에 저장
for i in range(A):
num = int(input())
A_list.append(num)

# 선택 정렬을 이용하여 리스트를 정렬
for i in range(A):
# 현재 위치부터 나머지 원소 중에서 최솟값의 인덱스 찾기
min_index = i
for j in range(i + 1, A):
if A_list[j] < A_list[min_index]:
min_index = j

# 현재 위치의 원소와 최솟값의 원소를 교환
A_list[i], A_list[min_index] = A_list[min_index], A_list[i]

# 정렬된 리스트를 출력
for i in A_list:
print(i)
39 changes: 39 additions & 0 deletions 1주차/2751.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# O(n log n)의 시간 복잡도를 위해 quick_sort 함수 사용
def quick_sort(arr):
if len(arr) <= 1:
return arr

# 피벗 원소를 선택
pivot = arr[len(arr) // 2]

# 피벗보다 작은 원소들 (왼쪽)
left = [x for x in arr if x < pivot]

# 피벗과 같은 원소들 (가운데)
middle = [x for x in arr if x == pivot]

# 피벗보다 큰 원소들 (오른쪽)
right = [x for x in arr if x > pivot]

return quick_sort(left) + middle + quick_sort(right)

# 사용자로부터 요소의 개수인 A를 입력받기
A = int(input())

# 사용자 입력을 저장할 빈 리스트를 초기화
A_list = []


# A개의 정수를 사용자로부터 입력받고 A_list에 저장
for i in range(A):
num = int(input())
A_list.append(num)

# quick_sort 함수를 사용하여 리스트를 정렬
A_list = quick_sort(A_list)

# 정렬된 리스트 출력
for i in A_list:
print(i)