[Algorithm] 코딩테스트 공부 python - 3

THOVY·2022년 9월 13일
0

ALGORITHM

목록 보기
3/5

👨‍💻 문제

평균 구하기
백준 1546

  1. 최고 점수를 알아야한다.

그리고 나는 하나 하나 새 점수를 부여한 뒤에 그걸 가지고 다시 평균을 구해야 하겠다 생각했는데, 그것보다 훨씬 쉬운 방법이 있었다.

어떻게 보면 수학이다 수학.

(AM×100)+(BM×100)+(CM×100)3( {{A\over M} \times 100 ) + ( {B\over M} \times 100 ) + ( {C\over M} \times 100 )}\over 3 라고 하는 식을

(A+B+C)×100M3{{{ {(A + B + C)}} \times {100 \over M} } \over 3} 라고 묶었다.

내가 묶은 게 아니고 풀이가... 나는 저렇게 생각 하지도 못함.

그래서 A B C 의 값 중 최고값과 합(M) 만 찾으면 정답을 계산할 수 있더라.

댕청한 나는 몰랐지.

그래서 sudo 코드로 대충 로직을 짜보면.

  1. 점수 갯수 입력받기
  2. 점수 정보 입력받기
  3. 최댓값 구하고
  4. 합 구해서
  5. 계산하기

간단하다.

그런데, max sum 이 라는 메서드가 있는 것도 몰랐다 나는.

어디까지 댕청할까 난.

n = input()
scoreList = list(map(int, input().split()))

maxScore = max(scoreList)
sumScore = sum(scoreList)

answer = (sumScore * 100 / maxScore / int(n))

print(answer)

점수 입력 폼이
50 30 20

이렇게 되어 있어서 split() 함수로 (공백) 를 기준으로 분리해 입력받아준다.

map 함수를 이용해 모두 int 로 하나씩 받아준다.

별 거 아닌 것 같지만, 정교하다.

열심히합시다. 굶기싫으면.

조금 있다 구간의 합 합시다.

profile
BEAT A SHOTGUN

0개의 댓글