Back/Algorithm

백준 알고리즘 4344 파이썬

www.acmicpc.net/problem/4344

 

4344번: 평균은 넘겠지

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

www.acmicpc.net

n = int(input())

for _ in range(n): # for문으로 위에서 입력한 n의 범위만큼 반복 시킨다.
    nums = list(map(int, input().split())) # for문 안에 input을 만들어 입력한 input값을 list로 nums에 저장시킨다.
    avg = sum(nums[1:])/nums[0] # 평균값을 구한다. 윗줄에 만든 nums리스트의 1번쨰부터 더해간다. 0번째는 학생 수
    cnt = 0 # 평균 이상의 학생을 구하기 위해 cnt란 변수를 만든다.
    for score in nums[1:]: # 이중 for문을 활용하여, fon문이 한번 씩 돌아갈때마다 nums의 1번째부터 즉 점수부분만 반복한다.
        if score > avg: # if문을 활용, 평균값이 높으면
            cnt += 1 # 처음 for문에 만든 cnt 값을 하나 올린다.
    rate = cnt/nums[0] *100 # cnt는 평균을 넘어 선 학생이니, cnt / num[0] 하여 평균 값을 구한다.
    print(f'{rate:.3f}%') #f`를 활용하여 { } 안에 변수를 넣을 수 있게 하고, .3f로 3자리 까지 나올 수 있게 한 뒤 양식에 맞게 %로 마무리 한다.

알고리즘을 처음 접하는데 굉장히 어렵고 난해하다.

 

쉬운듯 쉽지 않다. 그냥 어렵다....

 

파이썬 기본 문법도 아직 자세히 모르고 있는데,

 

컴퓨터적 사고 방식으로 문제를 풀려니까 모르는 언어로 외국인과 대화하는 느낌이 난다.

 

계속하면 뭐라도 되겠지.