문제 :
500이하의 정수가 총 10번주어짐.
250이상의 정수가 주어지면 마지막으로 주어진 수 제외하고 주어진
모든 정수들의 합계와 평균을 구하는 프로그램을 작성해라.
단, 250 이상의 정수가 없다면 10개의 합계와 평균을 계산해야함.
ex)
4 10 37 53 88 260 67 88 500 400
출력 :
192 38.4
1) 한줄에 입력되는 입력값이 총 10개이므로 10개 초과되어 input되지 않음.
2) for문이 이 입력문을 순회하면서 250보다 작은지 아닌지 확인
> 250보다 클 경우, 그 값이 나오기 전까지 값들을 모두 합해야하고, 그 값들의 갯수 또한 구해야함.
> 여기서 값들의 갯수는 for문의 순회 갯수와 같음
> 따라서 누적합이 만들어지는 변수하나와 누적 갯수가 만들어지는 변수를 생성함.
3) 250값이 나오는 순간 순회가 끝나야 함. 안끝내고 순회가 계속된다면 250미만의 숫자들이 다 후보값으로 선택됨.
arr = list(map(int, input().split()))
sum_arr, count_arr = 0, 0
for elem in arr :
if elem >= 250 :
break
else :
sum_arr += elem
count_arr += 1
print(sum_arr, round(sum_arr/count_arr, 1))
문제 출처 : 코드트리
https://www.codetree.ai/trail-info
Code Tree | Learning to Code with Confidence
A super-comprehensive, meticulously arranged Coding Learning Curriculum engineered by Algorithm Experts composed of former International Olympiad in Informatics (IOI) medalists.
www.codetree.ai
'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 |