과목 수 N이 첫번째 줄에 정수로 주어지고
두 번째 줄에는 N개의 과목 학점을 공백을 사이에 두고 입력받음
1<=N<=5
0<=학점<=4.5
과목 학점들의 평균이 4.0이상이면 Perfect, 3.0이상이면 Good, 3.0미만이면 Poor를 출력하라.
단, 첫번째 줄에는 평균학점을 반올림하여 소수 첫째 자리까지 출력을,
두번째 줄에는 평균 학점에 해당하는 등급을 출력해라.
ex)
입력
4
3.0 2.8 4.0 3.5
출력
3.3
Good
<사전지식>
* 소숫점을 print 할 때 다르게 표기하고 싶다면 print(f"{sum_val} {avg :.1f}") 처럼 : . 1f를 {}안에 입력해줘야한다.
(단, .1앞에 띄어쓰기가 안오도록 주의)
> 이때 avg 변수는 소숫점 1자리까지만 보여준다.
* sum() : 리스트 안의 원소의 합은 sum()함수를 통해 바로 계산이 가능하다.
n = int(input())
arr = list(map(float, input().split()))
avg_arr = (sum(arr)/n)
print(f"{avg_arr:.1f}")
if avg_arr >= 4.0 :
print("Perfect")
elif avg_arr >= 3.0 :
print("Good")
else :
print("Poor")
1) 말그대로 학점을 계산해야한다. 첫번째 줄은 정수를 받고, 두번째 줄은 소숫점이 있는 값이 있으므로 float포맷으로 받아준다.
2) 평균을 구하는 변수를 만든후, print할때 소숫점 첫재짜리까지만 출력하도록 한다.
3) 평균 변수에 if문으로 Perfect, Good, Poor 을 조건에 맞추어 출력한다.
n = int(input())
arr = list(map(float, input().split()))
avg_arr = (sum(arr)/n)
print(f"{avg_arr:.1f}")
if avg_arr >= 4.0 :
print("Perfect")
elif avg_arr >= 3.0 :
print("Good")
else :
print("Poor")
'Python > 코딩테스트' 카테고리의 다른 글
배열 - 배열채우기 (0) | 2025.03.04 |
---|---|
배열 - 특정 수 도달하기 (0) | 2025.03.04 |
배열 - 기본 개념(리스트 slicing/append/pop/len) (0) | 2025.03.04 |
다중반복문 - 소수 구하기(bloon 변수활용) (0) | 2025.03.04 |
다중반복문 - 완전 수 (0) | 2025.03.04 |