BaekJoon - 4344번: 평균은 넘겠지(1차원 배열, PYTHON)

2022. 9. 4. 02:04·Coding Test/BaekJoon_Python
728x90

다소 재치있는 제목을 가지고 있는 이 문제는 대학생 새내기들이 가지고 있는 흔한 생각인"나는 반에서 평균 이상은 하고 있겠지 ㅋㅋ"

에 대한 슬픈 진실을 알려주기 위해 만들어진 문제라고 한다.


문제 분석

테스트 케이스의 개수 C테스트 케이스의 학생 수, 학생 수 만큼의 점수를 입력

입력받은 점수의 평균값을 구한 후 구성원 중 몇 %가 평균을 넘는 지 구하는 문제


제약

학생 수는 1~1000의 정수

점수는 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%

 


유의사항

소숫점 셋째 자리까지 모든 경우의 수에서 출력하기


작동하지만 오답인 코드

#테스트 케이스 개수 C
C = int(input())
C_list = []

for i in range(C):
    #평균 이상의 학생을 담을 변수 count 초기화
    count = 0
    #C_list에 학생 수와 점수 입력
    C_list = list(map(int, input().split()))
    #print(C_list,'_line 10_ C_list')
    N = C_list[0]
    #배열의 수 전부 합산, 학생 수 만큼 뺀 후 평균 구하기
    C_sum = sum(C_list) - N
    C_ave = C_sum/N
    #print(C_ave,'_line 15_ C_ave')
    #C_list에 들어간 수 중에 C_ave보다 큰 수가 발견되면 count ++
    for i in range(len(C_list)):
        if i != 0:
            if C_list[i] > C_ave:
                count+=1
    #print(count,'_line 21_ count')
    #C_p라는 상위 퍼센트를 담는 변수를 지정 후 round를 이용해 소숫점 조절
    C_p = round(count/N*100, 3)
    print("%s%%" %(C_p))

정상적으로 예제의 값이 나오는 모습

정상적으로 작동이 되지만 틀린 부분이 있다는 것은 출제자의 의도와는 다른 방식으로 풀었다고 볼 수 있다.

지금의 코드 상황


정답코드

오답의 이유를 찾아본 결과 

오답 부분

첫 번째 예시에서 소숫점 셋째 자리까지 출력되지 않은 것이 그 이유인 것으로 나왔다.

위 부분을 round 대신에 f-string을 활용한 소숫점 제한으로 교체했을 때 정답처리 되었다.

#테스트 케이스 개수 C
C = int(input())
C_list = []

for i in range(C):
    #평균 이상의 학생을 담을 변수 count 초기화
    count = 0
    #C_list에 학생 수와 점수 입력
    C_list = list(map(int, input().split()))
    #print(C_list,'_line 10_ C_list')
    N = C_list[0]
    #배열의 수 전부 합산, 학생 수 만큼 뺀 후 평균 구하기
    C_sum = sum(C_list) - N
    C_ave = C_sum/N
    #print(C_ave,'_line 15_ C_ave')
    #C_list에 들어간 수 중에 C_ave보다 큰 수가 발견되면 count ++
    for i in range(len(C_list)):
        if i != 0:
            if C_list[i] > C_ave:
                count+=1
    #print(count,'_line 21_ count')
    #C_p라는 상위 퍼센트를 담는 변수를 지정 후 f-string을 이용해 소숫점 조절
    C_p = count/N*100
    print(f"{C_p:.3f}%")

1차원 배열 챕터 클리어!

728x90
저작자표시 비영리 변경금지 (새창열림)

'Coding Test > BaekJoon_Python' 카테고리의 다른 글

BaekJoon - 1237번: 정ㅋ벅ㅋ(1 차원 생각, PYTHON)  (0) 2022.10.06
BaekJoon - 15596번: 정수 N개의 합(함수, PYTHON)  (0) 2022.09.05
BaekJoon - 8958번: OX퀴즈(1차원 배열, PYTHON)  (0) 2022.09.03
BaekJoon - 1546번: 평균(1차원 배열, PYTHON)  (0) 2022.09.03
BaekJoon - 3052번: 나머지(1차원 배열, PYTHON)  (0) 2022.09.03
'Coding Test/BaekJoon_Python' 카테고리의 다른 글
  • BaekJoon - 1237번: 정ㅋ벅ㅋ(1 차원 생각, PYTHON)
  • BaekJoon - 15596번: 정수 N개의 합(함수, PYTHON)
  • BaekJoon - 8958번: OX퀴즈(1차원 배열, PYTHON)
  • BaekJoon - 1546번: 평균(1차원 배열, PYTHON)
ThreeLight
ThreeLight
ThreeLight Studio의 블로그, TimeMap.exe에 오신 것을 환영합니다.
  • ThreeLight
    TimeMap.exe
    ThreeLight
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Checkpoint (1)
      • (3D)Dev Deep Dive (0)
        • Templates & Guides (9)
        • Frontend origin (9)
        • Backend origin (1)
        • TroubleShootings (4)
      • Development Study (95)
        • Frontend (36)
        • Backend (21)
        • CS(Computer Science) (2)
        • Background Knowledges (11)
        • Algorithm (2)
        • Mobile (3)
        • AWS (6)
        • Python (6)
        • MSW(MapleStoryWorlds) (8)
      • Coding Test (59)
        • 문제.zip (1)
        • BaekJoon_JavaScript (0)
        • Programmers_JavaScript (9)
        • BaekJoon_Python (23)
        • Programmers_Python (10)
        • Undefined_Python (3)
        • Programmers_SQL (13)
      • 활동내역.zip (43)
        • 개인 (21)
        • Techeer (12)
        • Bootcamp (7)
        • Hackathon (1)
        • TeamProjects (2)
      • 여기 괜찮네??(사이트 | App) (5)
      • 재미있는 주제들 (8)
      • 개발 외 공부 저장소 (11)
        • 생산운영관리 (3)
        • 생활속의금융 (6)
        • 경영정보시스템 (2)
  • 링크

    • TimeMap.dmg (Portfolio)
    • GitHub 바로가기
    • 오픈프로필(카카오톡)
    • Medium 바로가기
    • Disquiet 바로가기
    • LinkedIn 바로가기
  • 인기 글

  • 태그

    CSS
    프로그래머스
    Python
    JavaScript
    HTML
    SQL
    TypeScript
    react
    Baek Joon
    programmers
  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
ThreeLight
BaekJoon - 4344번: 평균은 넘겠지(1차원 배열, PYTHON)
상단으로

티스토리툴바