코딩테스트 위클리 챌린지 2주차 문제풀이

프로그래머스 위클리 챌린지 2주차(level 1) 문제풀이

def evaluate(score):
  if score>=90:
    return 'A'
  elif score>=80:
    return 'B'
  elif score>=70:
    return 'C'
  elif score>=50:
    return 'D'
  else:
    return 'F' 

def solution(scores):
  k = len(scores)
  result = ""
  arr = [[] for _ in range(k)]
  for i in range(k):
    for j in range(k):
      arr[i].append(scores[j][i])
  for i in range(k):
    if arr[i][i] == max(arr[i]) or arr[i][i] == min(arr[i]):
      if arr[i].count(arr[i][i]) == 1:
        arr[i][i] = "X"
  for i in range(k):
    cnt = 0
    SUM = 0
    for j in range(k):
      if arr[i][j] != 'X':
        cnt += 1
        SUM += arr[i][j]
    result += evaluate(SUM/cnt)

  return result

이게 국어문제인지...
이해를 잘못해서 유일한 값을 잘못이해해서 행에서의 최대, 최소 유일값으로 이해를 해버려서 오래걸림

좋은 웹페이지 즐겨찾기