컴퓨터 Info/Python - 자료구조

Python - 순위(Rank)

붕짱이 2022. 5. 3.

순위 (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

댓글