🔍 문제
1부터 100까지 난수 10개를 뽑아 정렬하고 최대값과 최소값을 출력(삽입 정렬 사용)
🗝 사용함수
🖥 실행
1) 클래스
class SortNum:
def __init__(self, arr, asc=True):
self.array = arr
self.isAsc = asc
def isAscending(self, flag):
self.isAsc = flag
def setSort(self):
for i1 in range(1, len(self.array)):
i2 = i1 -1
cNum = self.array[i1]
if self.isAsc:
while self.array[i2] > cNum and i2 >= 0:
self.array[i2+1] = self.array[i2]
i2 -= 1
else:
while self.array[i2] < cNum and i2 >= 0:
self.array[i2+1] = self.array[i2]
i2 -= 1
self.array[i2+1] = cNum
def getSort(self):
return self.array
def getMin(self):
if self.isAsc:
return self.array[0]
else:
return self.array[-1]
def getMax(self):
if self.isAsc:
return self.array[-1]
else:
return self.array[0]
2) 실행파일
import random as rd
import sortMod as sm
nums = rd.sample(range(1,100),10)
print(nums)
sn = sm.SortNum(nums)
sn.setSort()
result = sn.getSort()
print(result)
sn.isAscending(False)
sn.setSort()
result_des = sn.getSort()
print(result_des)
min = sn.getMin()
max = sn.getMax()
print(f'min : {min}, max : {max}')
📝 결과물
'Coding test > Python 기초문제' 카테고리의 다른 글
[파이썬 기초] 아스키 코드 최대값 찾기 (0) | 2022.05.13 |
---|---|
[정렬] 1부터 100사이 난수 정렬(선택 정렬) (0) | 2022.05.12 |
[정렬] 키순대로 배열 (0) | 2022.05.12 |
[순위] 중간, 기말 점수 격차 확인 (0) | 2022.05.07 |
[딕셔너리] BMI 계산기 (0) | 2022.05.04 |