알고리즘/programmers

[Programmers 위클리 챌린지 2주차] 상호 평가

꾸준함. 2021. 9. 3. 23:38

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/83201

 

코딩테스트 연습 - 2주차

[[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD"

programmers.co.kr

 

 

문제에서 주어진 조건 그대로 구현하면 되는 문제였고 저는 아래와 같이 알고리즘을 작성했습니다.

1. 우선, i번째 학생에게 부여된 점수를 다 더해줍니다.

2. i번째 학생이 자기 자신에게 부여한 점수가 최고 혹은 최저점인지 판별합니다.

3. 2번의 조건을 만족할 경우 자기 자신에게 부여한 점수가 유일한지 확인합니다.

4. 3번의 조건을 만족할 경우 문제의 조건대로 1번에서 구한 점수에서 자기 자신의 점수를 뺀 상태로 평균을 구합니다.

4.1 3번의 조건을 만족하지 않을 경우 1번에서 구한 점수에서 바로 평균을 구해줍니다.

5. 평균 점수를 기준으로 성적을 매기고 문자열에 더해줍니다.

6. 모든 학생에 대해 1 ~ 5번 과정을 진행하고 전체 문자열을 반환해줍니다.


 

 

개발환경:Visual Studio 2017

 

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형