Programmers_위클리챌린지 2주차 상호 평가(python)
프로그래머스 위클리 챌린지 2주차 - 상호 평가 문제 입니다.
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/83201
2. 분류 및 난이도
Programmers 문제입니다.
위클리 챌린지 2주차 문제입니다.
Level 1난이도의 문제입니다.
3. 생각한 것들(문제 접근 방법)
- 어렵지 않습니다. 효율성을 고려하여 풀려했지만.. 전혀 만족스럽지 않은 코드가 탄생하였습니다.
4. 접근 방법을 적용한 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def solution(scores):
row = len(scores)
col = len(scores[0])
answer = ""
for i in range(col):
countnum = [0] * 101
maxnum = 0
minnum = 101
sumnum = 0
mine = 0
res = 0
for j in range(row) :
if i == j :
mine = scores[j][i]
maxnum = max(maxnum,scores[j][i])
minnum = min(minnum,scores[j][i])
sumnum += scores[j][i]
countnum[scores[j][i]] += 1
if (mine == minnum or mine == maxnum) and countnum[mine] == 1 :
res = (sumnum - mine) / (row-1)
else :
res = sumnum / row
plus = 10
if res != 100 :
plus = int(10 - res // 10)
if plus > 4 and plus < 6:
plus = 4
if plus > 5 :
plus = 6
answer += chr(plus-1 + ord("A"))
else :
answer += "A"
return answer
5. 결과
필요시. c++ 짜드리겠습니다. 설명이 필요시 댓글달아주세요.
This post is licensed under CC BY 4.0 by the author.