< 선택정렬 >
arr=[]
size = int(input())
for i in range(size):
arr.append(int(input()))
for i in range(size-1):
min=i
for j in range(i+1,size):
if arr[j]<arr[min] :
min=j
arr[min],arr[i]=arr[i],arr[min]
print(arr)
< 버블정렬 >
arr=[]
size = int(input())
for i in range(size):
arr.append(int(input()))
for i in range(size-1,0,-1):
for j in range(0,i):
if arr[j]>arr[j+1]:
arr[j],arr[j+1]=arr[j+1],arr[j]
print(arr)
<카운팅정렬>
arr=[] # a
size = int(input())
for i in range(size):
arr.append(int(input()))
length = len(arr)
count = [0]*(length+1) # 입력받은 arr배열의 숫자 빈도 체크 배열
countSum=[0]*(length+1) # 빈도배열을 통한 누적합 배열
for i in range(0,length):
count[arr[i]]+=1
countSum[0]=count[0]
for i in range(1,length+1):
countSum[i]=countSum[i-1]+count[i]
# 최종 정렬된 배열
arr2 = [0]*(length+1)
for i in range(length-1,-1,-1): #거꾸로
arr2[countSum[arr[i]]]=arr[i]
countSum[arr[i]]-=1
result=""
for i in range(1,length+1):
result += str(arr2[i])+" "
print(result)
'전공 과목 이수1👨💻 > 파이썬' 카테고리의 다른 글
크롤링 - 유튜브 5시간짜리 보고 정리 (0) | 2021.12.03 |
---|---|
파이썬 크롤링 - lxml, cssselector, requests 설치 (0) | 2021.12.02 |
크롤링 공부 - urllib, urlopen (0) | 2021.12.02 |
파이썬 - 함수 생성 예제 세개 (0) | 2020.12.03 |
파이썬 - 객체 지향, 클래스 개념 (0) | 2020.11.28 |
파이썬 - pyQT 정렬 함수 | PyQt5.QtCore (0) | 2020.11.24 |