관리 메뉴

도드넷

정보처리기능사 실기 알고리즘 유형#5 - 랭킹, 석차 알고리즘 본문

창고/정보처리기능사[완]

정보처리기능사 실기 알고리즘 유형#5 - 랭킹, 석차 알고리즘

도드! 2016. 4. 18. 10:10
반응형





정보처리기능사 실기 알고리즘 유형 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)

SUM (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"값을 변수로 놓으면 무한대양의 자료받기도 가능.






반응형
Comments