goodthings4me.tistory.com
프로그램 공부를 하다 보면 숫자 크기를 비교하여 정렬하라는 문제를 많이 본다. 파이썬에서도 정렬에 쓰이는 함수가 있는데 sort()와 sorted()가 있다. <관련 함수 내용은 여기 참조> 이중에서 sort() 함수를 직접 만드는 코드를 작성해본다.
파이썬 sort() 함수 만들기
[파이썬 sort() 함수 흉내내기 - 오름차순]
# 오름차순
def my_asc(lst):
for n in range(len(lst)-1):
for m in range(n + 1, len(lst)):
if lst[n] > lst[m]: # 앞, 뒤 바로 교환 위한 조건
lst[n], lst[m] = lst[m], lst[n]
print(lst)
nums = [20, 10, 30, 24, 52, 30]
my_asc(nums)
[실행 결과]
[10, 20, 24, 30, 30, 52]
- 파이썬 리스트를 인자로 전달하면 리스트 요소 순서대로 크기 비교(if문) 후 위치를 바꾸는 방법으로 진행
- 예로, 첫 번째 요소 20, 두 번째 요소 10을 비교하여 첫 번째가 크기 때문에 서로 위치를 바꾼다.
[파이썬 sort() 함수 흉내내기 - 내림차순]
# 내림차순
def my_desc(lst):
for n in range(len(lst)-1):
for m in range(n + 1, len(lst)):
if lst[n] < lst[m]:
lst[n], lst[m] = lst[m], lst[n]
print(lst)
nums = [20, 10, 30, 24, 52, 30]
my_desc(nums)
[실행 결과]
[52, 30, 30, 24, 20, 10]
- 오름차순과 반대로 진행하면 내림차순이 된다.
▷ 관련 함수 보기
'코딩 연습 > 파이썬 기초(예제)' 카테고리의 다른 글
주어진 숫자 리스트에서 최댓값, 최솟값 찾는 함수 (0) | 2022.05.14 |
---|---|
과일 야채 단어 찾기 - 파이썬 딕셔너리 연습 (0) | 2022.05.12 |
입력된 숫자에서 홀수 찾기, 원하는 숫자 들어간 숫자 찾기, 자주 사용된 숫자 찾기 (0) | 2022.05.11 |
최대값과 최소값 위치, 배수 합계, 소수 구하기 등 (0) | 2022.05.11 |
파이썬 팩토리얼 (factorial) 구하는 방법 (0) | 2022.05.09 |
댓글