도드넷
정보처리기능사 실기 알고리즘 유형#5 - 랭킹, 석차 알고리즘 본문
정보처리기능사 실기 알고리즘 유형 5번째는
석차 알고리즘 랭킹 시스템 만드는 알고리즘에 대해서 알아봅니다.
AJ, You are mine and mine ♥
정보처리기능사 실기 요점정리#5 - 석차 알고리즘 랭킹 알고리즘
1. 한 배열을 이중 반복문으로 비교하면 된다.
- 석차 알고리즘의 핵심은 이중 반복문.
2. 반복문에 사용되는 반복문 변수를 매개변수로 사용한다.
3. 비교해서 이기면 진쪽의 랭킹에 +1 해주는 방식으로 뒤로 밀리게한다.
4. 석차 알고리즘
Z(id) : 점수자료.
RANK(id) : 랭킹자료.
WAY1) 중복있게 (하지만 결과는 같음) 일일히 다비교.
반복문1 P = 1, N
반복문2 Q = 1, N
Z(P) < Z(Q) 이면 RANK(P) = RANK(P) + 1
WAY2) 중복없이 해야할것만 비교.
반복문1 P = 1, N-1
반복문2 Q = P+1, N
Z(P) < Z(Q) 이면 RANK(P) = RANK(P) + 1
Z(P) > Z(Q) 이면 RANK(Q) = RANK(Q) + 1
예제
이름 중간고사 기말고사로 구성된 10개의 자료를 입력받아 평균과 석차를 구하고 평균점수 5점당
★하나를 출력하게하며 순위가 높은순으로 출력되게하시오.
NAME(10)
M (10)
F (10)
AVG(10)
RANK(10)
STARS(10)
반복문 Y = 1, 10
SUM(Y) = M(Y) + F(Y)
AVG(Y) = SUM(Y) / 2
STARS(Y) = AVG(Y) / 5
RANK(Y) = 1
WTF(Y) = 1
반복문 O = 1, 9
반복문 P = 2, 10
SUM(O) > SUM(P) 이면 RANK(P) = RANK(P) + 1
SUM(O) < SUM(P) 이면 RANK(O) = RANK(O) + 1
반복문 M = 1, 10
반복문 K = 1, 10
RANK(K) = M 이면 이하를 실행한다.
출력 :: RANK(K), NAME(K), SUM(K), AVG(K)
반복문 U = 1, STARS(K)
출력 :: ★
순위순으로 출력하는거하고 ★ 별추가 하는것도 넣어봄.
순위순 출력 좀 고민됬는데 이미 RANK 값이 있으므로 1이면 1등출력 2이면 2등출력하면 해결될 간단한 일.
반복문 통제변수 "10"값을 변수로 놓으면 무한대양의 자료받기도 가능.
'창고 > 정보처리기능사[완]' 카테고리의 다른 글
정보처리기능사 실기 알고리즘 유형#7 - 화폐 매수 (0) | 2016.04.19 |
---|---|
정보처리기능사 실기 알고리즘 유형#6 - 진법변환 보수 (0) | 2016.04.19 |
정보처리기능사 실기 알고리즘 유형#4 - 홀수짝수 평균 알고리즘 (0) | 2016.04.18 |
정보처리기능사 실기 알고리즘 유형#3 - 피보나치 수열 알고리즘 (0) | 2016.04.18 |
정보처리기능사 실기 알고리즘 유형#2 - 교행 알고리즘 (1) | 2016.04.17 |