🔍 문제
1부터 100사이의 난수 10개를 오름차순, 내림차순으로 정렬(선택 정렬 사용)
🗝 사용함수
🖥 실행
1) 모듈
class SelectionSort:
def __init__(self, arr, asc=True):
self.arr = arr
self.isAsc = asc
def setAsc(self, flag):
self.isAsc = flag
def setSelect(self):
for i in range(len(self.arr)-1):
minIdx = i
if self.isAsc:
for j in range(i+1, len(self.arr)):
if self.arr[minIdx] > self.arr[j]:
minIdx = j
self.arr[i], self.arr[minIdx] = self.arr[minIdx], self.arr[i]
else:
for j in range(i+1, len(self.arr)):
if self.arr[minIdx] < self.arr[j]:
minIdx = j
self.arr[i], self.arr[minIdx] = self.arr[minIdx], self.arr[i]
def getSelect(self):
return self.arr
2) 실행파일
import random as rd
import selectMod as sm
array = rd.sample(range(1,100),10)
print(f'array : {array}')
sortedStd = sm.SelectionSort(array)
sortedStd.setSelect()
result = sortedStd.getSelect()
print(f'ascend : {result}')
sortedStd.setAsc(False)
sortedStd.setSelect()
result_dc = sortedStd.getSelect()
print(f'descend : {result_dc}')
📝 결과물
'Coding test > Python 기초문제' 카테고리의 다른 글
[최빈값] 성적 분포도 그리기 (0) | 2022.05.13 |
---|---|
[파이썬 기초] 아스키 코드 최대값 찾기 (0) | 2022.05.13 |
[정렬] 1부터 100사이 난수 정렬(삽입 정렬) (0) | 2022.05.12 |
[정렬] 키순대로 배열 (0) | 2022.05.12 |
[순위] 중간, 기말 점수 격차 확인 (0) | 2022.05.07 |