728x90
반응형
arr = [23, 78, 56, 456, 1, 98, 7]
new = []
for i in range(len(arr)): # ㄱ
for j in range(0, len(arr) - i - 1): # ㄱ
if arr[j] < arr[j+1]:
temp = arr[j] # ㄴ
arr[j] = arr[j+1]
arr[j+1] = temp
new.append(arr[-(i+1)]) # ㄷ
print(arr)
print(new)
다음과 같이 print(arr)로 정렬되는 arr 을 보면
arr = [23, 78, 56, 456, 1, 98, 7]
new = []
for i in range(len(arr)):
for j in range(0, len(arr) - i - 1):
if arr[j] < arr[j+1]:
temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
print(arr)
new.append(arr[-(i+1)])
print(arr)
print(new)
arr의 -i+1 인덱스 값을 사용하면 됨을 알 수 있음
[78, 56, 456, 23, 98, 7, 1] # 1 : -1 (i=0 일때 -(i+1))
[78, 456, 56, 98, 23, 7, 1] # 7 : -2 (i=1 일때 -(i+1))
[456, 78, 98, 56, 23, 7, 1] # 23 : -3 (i=2 일때 -(i+1))
[456, 98, 78, 56, 23, 7, 1]
[456, 98, 78, 56, 23, 7, 1]
[456, 98, 78, 56, 23, 7, 1]
[456, 98, 78, 56, 23, 7, 1]
[456, 98, 78, 56, 23, 7, 1]
-(i+1)로 arr의 뒤에서부터 값을 1, 7, 23... 등으로 가져올 수 있음
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 딕셔너리 keys(), values() (0) | 2024.04.23 |
---|---|
[파이썬] 문제 : 입력 한 수부터 30까지 홀수, 짝수 구 (0) | 2024.04.22 |
[파이썬] 문제 : Dataframe에서 count 하기 (0) | 2024.04.21 |
[파이썬] 문제 : 최저임금 계산 (0) | 2024.04.20 |
[파이썬] turtle : 8 각형 그리기 (0) | 2024.04.16 |
댓글