순위 (Rank)
순위 알고리즘은 컨테이너에 있는 데이터의 순위를 정하는 알고리즘이다.
첫 인덱스의 값부터 끝까지 하나씩 비교하여 값이 큰 값의 인덱스에 해당하는 순위를 저장할 새 컨테이너에 1씩 더 해주기를 반복하여 마지막 인덱스까지 비교하여 순위를 정한다.
순위(Rank) 예제
import random
randomList = random.sample(range(50, 101), 20)
rankList = [0 for i in range(len(randomList))]
print(f'RandomList : {randomList}')
print(f'RankList : {rankList}')
for idx, num in enumerate(randomList):
for num2 in randomList:
if num < num2:
rankList[idx] += 1
for idx, num in enumerate(randomList):
print(f'RandomNumber : {randomList[idx]} \t Rank : {rankList[idx] + 1}')
내용
랜덤값이 들어간 리스트와 같은 크기의 0이 들어간 리스트를 생성해주고 처음부터 끝까지 값을 비교하여 값이 크면 해당 인덱스에 1씩 더 해준다.
결과
RandomList : [81, 83, 67, 74, 82, 56, 69, 98, 89, 85, 90, 52, 65, 75, 55, 54, 53, 57, 86, 79]
RankList : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
RandomNumber : 81 Rank : 8
RandomNumber : 83 Rank : 6
RandomNumber : 67 Rank : 13
RandomNumber : 74 Rank : 11
RandomNumber : 82 Rank : 7
RandomNumber : 56 Rank : 16
RandomNumber : 69 Rank : 12
RandomNumber : 98 Rank : 1
RandomNumber : 89 Rank : 3
RandomNumber : 85 Rank : 5
RandomNumber : 90 Rank : 2
RandomNumber : 52 Rank : 20
RandomNumber : 65 Rank : 14
RandomNumber : 75 Rank : 10
RandomNumber : 55 Rank : 17
RandomNumber : 54 Rank : 18
RandomNumber : 53 Rank : 19
RandomNumber : 57 Rank : 15
RandomNumber : 86 Rank : 4
RandomNumber : 79 Rank : 9
'컴퓨터 Info > Python - 자료구조' 카테고리의 다른 글
Python - 삽입정렬 (0) | 2022.05.04 |
---|---|
Python - 버블정렬 (0) | 2022.05.03 |
Python - 이진검색 (0) | 2022.05.03 |
Python - 선형검색 (0) | 2022.05.02 |
Python - 딕셔너리 (4) | 2022.05.02 |
댓글