본문 바로가기
프로그램

[파이썬] 문제 : 5명의 점수 입력 받아 등수 출력

by 오디세이99 2024. 5. 31.
728x90
반응형

 

리스트에서 sorted() 함수등을 사용해서 정렬할 수 있지만 이런 문제의 경우 직적 구현하는 것으로 요청하므로 직접 구현된 코드를 사용해 정렬하도록 했습니다.(단, 현재 문제에 제한 사항이 있지는 않네요)

def sort(lst):                             # 정렬(오름차순) 함수. 같은 점수는 아랫 등수로 판단 위함
    for i in range(len(lst)):
        for j in range(i+1, len(lst)):
            if lst[i] > lst[j]:
                tmp = lst[i]
                lst[i] = lst[j]
                lst[j] = tmp
    return lst

lst = []                 # 점수 입력 반아 저장하기 위한 리스트 변수 선언
for i in range(5):       # 5명 점수 입력 받기 위해 반복문
    p = int(input())     # 입력 받기. 문자열로 입력받아 정수로 변환
    lst.append(p)        # 점수 저장 리스트에 추가

lst1 = sort(lst.copy())  # 점수 정렬하기

result = [len(lst) - lst1.index(lst[i]) for i in range(len(lst))]   # 등수가 뒤부터 찾은 것이기 때문에 len(lst)에서 빼기 하면 됨
print(result)

728x90
반응형

댓글