[문제 링크]
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
[내가 짠 코드]
test = int(input()) # 테스트 케이스 횟수
for _ in range(test):
nums = list(map(int, input().split()))
avg = sum(nums[1:]) / nums[0]
count = 0 # 평균 넘는 사람 세기 위한 카운트
for i in nums[1:]:
if i > avg:
count += 1
rate = (count / nums[0]) * 100 # 평균을 넘는 비율
print(format(rate, ".3f") + "%")
[새로 알게 된 부분]
a = input().split()
# 이렇게 작성하고 input에 1, 2를 입력하면 a = [1, 2] 식으로 리스트에 담긴다.
x = input()
n = map(int, x)
# 기본적으로 input으로 입력받는 값은 string의 형태를 띈다.
# map(int, x)를 해주게 되면 x를 int로 바꿔주는 작업을 하게 된다. 그 결과를 n에 저장함.
nums = list(map(int, input().split()))
# input().split()은 공백을 기점으로 여러 개의 input을 한 번에 받을 수 있게 해줌
# 그런데 input으로 받은 값은 기본적으로 string
# 따라서 원활한 작업을 위해서 이것을 int로 바꿔주는 작업이 필요함
# 이 때 map 함수를 사용하면 쉽게 위의 작업을 해줄 수 있음
# map(실행할 함수, 데이터) 의 form을 가지고 있음
# map(int, input().split())은 다시 말해 입력받은 모든 input 값을 int로 바꿔주겠다는 뜻
# int도 함수로 보는듯?
# 그리고 그 값들을 list화 시키기 위해서 list()로 감싸줌
# 그리고 그 list를 nums라는 변수에 저장함
728x90
'백준' 카테고리의 다른 글
백준 4673번 셀프 넘버 (0) | 2022.08.08 |
---|---|
백준 1110번 더하기 사이클 (0) | 2022.08.04 |
백준 2525번 오븐 시계 문제 (0) | 2022.05.22 |