반응형
풀이 언어 : PYTHON
def solution(scores):
answer = ''
# 학생 한 명이 받은 점수들을 따로 뽑아 배열로 만들자
n = len(scores)
arr = [0 for _ in range(n)]
add = 0
avg = 0
for i in range(n) :
# 학생 i가 받은 점수들
for j in range(n) :
arr[j] = scores[j][i]
# i가 자신에게 매긴 점수가 최저 혹은 최고라면
if arr[i] == max(arr) or arr[i] == min(arr) :
if arr.count(arr[i]) == 1 :
# i가 매긴 점수는 빼고 평균 구한다
add = sum(arr) - arr[i]
avg = add / (n-1)
else :
add = sum(arr)
avg = add / n
else :
add = sum(arr)
avg = add / n
print(avg)
# 평균을 구했으니 성적을 매기자
if avg >= 90 :
answer += "A"
elif avg >= 80 :
answer += "B"
elif avg >= 70 :
answer += "C"
elif avg >= 50 :
answer += "D"
else :
answer += "F"
return answer
어려운 문제는 아닌데 성가시고 귀찮은 부분이 있다.
우선 핵심은 2차원 배열의 세로 줄을 따로 뽑아 별도의 배열로 만드는 거다.
이제 그 안에서 평균을 구하고 최고점 최저점을 구하면 된다.
시간 효율성을 보지 않기 때문에 결과만 도출한다면 그냥 다 풀 수 있다.
굿굿. 그런데 4주차 문제는 어디간거지? ;;;
링크
반응형
'알고리즘' 카테고리의 다른 글
프로그래머스 위클리 체인지 6주차 - 복서 정렬하기 (0) | 2021.10.08 |
---|---|
프로그래머스 위클리 체인지 5주차 - 모음사전 (0) | 2021.10.08 |
백준 18870번 좌표 압축 (0) | 2021.09.16 |
백준 2108번 통계학 (0) | 2021.09.16 |
백준 10989번 수 정렬하기 3 (0) | 2021.09.16 |
댓글