algorithm - 기초. 5명의 점수를 입력받아서 등수 출력하기
3 minute read
예
입력:
점수를 입력하세요: 100
점수를 입력하세요: 94
점수를 입력하세요: 95
점수를 입력하세요: 81
점수를 입력하세요: 86
출력:
풀이
- 점수를 저장할 리스트를 선언하고 반복문을 통해 5명의 점수를 순차적으로 입력받습니다.
- 번호를 매길 변수를 선언합니다.
- 반복문을 중첩시켜서 첫 번째 요소부터 자기보다 값이 큰 요소가 나오면 순위를 메기기 위한 변수를 1씩 증가시켜줍니다.
- 같은 점수를 같은 등수로 표현하기 위해서 자신을 포함한 모든 요소를 상대로 반복문을 실행합니다.
>>> scores = []
>>> while not len(scores) == 5:
... score = int(input("점수를 입력하세요: "))
... scores.append(score)
...
점수를 입력하세요: 100
점수를 입력하세요: 94
점수를 입력하세요: 95
점수를 입력하세요: 81
점수를 입력하세요: 86
>>> seq = 0
>>> for s in scores:
... seq += 1
... rank = 1
... for ss in scores:
... if s < ss:
... rank += 1
... print("%d번째 선수의 점수는 %d점이고, 등수는 %d등 입니다." % (seq, s, rank))
...
1번째 선수의 점수는 100점이고, 등수는 1등 입니다.
2번째 선수의 점수는 94점이고, 등수는 3등 입니다.
3번째 선수의 점수는 95점이고, 등수는 2등 입니다.
4번째 선수의 점수는 81점이고, 등수는 5등 입니다.
5번째 선수의 점수는 86점이고, 등수는 4등 입니다.
>>>
동점이 있을 경우
>>> scores = []
>>> while not len(scores) == 5:
... score = int(input("점수를 입력하세요: "))
... scores.append(score)
...
점수를 입력하세요: 100
점수를 입력하세요: 94
점수를 입력하세요: 92
점수를 입력하세요: 84
점수를 입력하세요: 100
>>> seq = 0
>>> for s in scores:
... seq += 1
... rank = 1
... for ss in scores:
... if s < ss:
... rank += 1
... print("%d번째 선수의 점수는 %d점이고, 등수는%d등입니다." % (seq, s, rank))
...
1번째 선수의 점수는 100점이고, 등수는1등입니다.
2번째 선수의 점수는 94점이고, 등수는3등입니다.
3번째 선수의 점수는 92점이고, 등수는4등입니다.
4번째 선수의 점수는 84점이고, 등수는5등입니다.
5번째 선수의 점수는 100점이고, 등수는1등입니다.
>>>
I feedback.
Let me know what you think of this article in the comment section below!
Let me know what you think of this article in the comment section below!
comments powered by Disqus