티스토리 뷰

반응형
 - 백준 알고리즘  : https://www.acmicpc.net/problem

문제

  • 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

입력

  • 첫째 줄에는 테스트케이스 C가 주어진다.

  • 둘째 줄부터 각 테스트케이스 마다 첫 수로 정수 N(1 <= N <= 1000)명의 학생이 주어지고 그 다음으로 N명의 0부터 100 사이의 점수가 이어서 주어진다.

출력

  • 각 케이스마다 한줄씩 평균을 넘는 학생들의 비율을 소수점 넷째자리에서 반올림하여 출력한다.


예제 입력

  • 5

  • 5 50 50 70 80 100

  • 7 100 95 90 80 70 60 50

  • 3 70 90 80

  • 3 70 90 81

  • 9 100 99 98 97 96 95 94 93 91


예제 출력

  • 40.000%

  • 57.143%

  • 33.333%

  • 66.667%

  • 55.556%



곰가드의 코드

  • n = int(input())
  • a=[[]]*n
  • for i in range(n):
  •     a[i] = list(map(int,input().split()))

  • i = 0
  • for i in range(n):
  •     avg = sum(a[i][1:len(a[i])])/a[i][0]
  •     cnt = 0
  •     for j in range(1,len(a[i])):
  •         if a[i][j] > avg:
  •             cnt +=1
  •     print('%.3f%%' %(cnt/a[i][0]*100))

참고할 파이썬 코드

  • 1차원 리스트 선언
    • a = [0] * 10
      • a -> [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
  • 2차원 리스트 선언
    • a = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
    • b = [ [ 0 ] * 4] *3
      • b -> [ [ 0, 0, 0, 0 ] , [ 0, 0, 0, 0 ] , [ 0, 0, 0, 0 ] ]
      • b[0][0] = 1
      • b -> [ [ 1, 0, 0, 0 ] , [ 1, 0, 0, 0 ] , [ 1, 0, 0, 0 ] ]    
        • # 같은 배열이 참조 되어 주의할 것.
        • # 세 행은 사실 하나의 리스트 객체.
    • c = [ [ 0 ] * 4 for x in range(3) ]
      • c -> [ [ 0, 0, 0, 0 ] , [ 0, 0, 0, 0 ] , [ 0, 0, 0, 0 ] ]
      • c[0][0] = 1
      • c -> [ [ 1, 0, 0, 0 ] , [ 0, 0, 0, 0 ] , [ 0, 0, 0, 0 ] ]    # 변환 한 c[0][0] 만 값이 변경 됨.


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함