Algorithm/SWEA

[SWEA - D2] 1983. ์กฐ๊ต์˜ ์„ฑ์  ๋งค๊ธฐ๊ธฐ

hello_u 2023. 4. 17. 22:43

 

 

๋‚˜์˜ ์ฝ”๋“œ 

arr = ["A+" , "A0" , "A-" ,"B+" , "B0" , "B-" , "C+" ,"C0" , "C-", "D0"]
T = int(input())
# ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์ฃผ์–ด์ง€๋ฏ€๋กœ, ๊ฐ๊ฐ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
for t in range(1, T + 1):
    n,k = map(int,input().split())
    score = {}
    for i in range(1,n+1):
        a,b,c = map(int,input().split())
        result = (a*0.35) + (b*0.45) + (c*0.2)
        score[i] = result
    sorted_score = dict(sorted(score.items() , key= lambda x : x[1] , reverse = True))
    x = n//10   # x ๊ฐœ์”ฉ ํ•™์  ๋ถ€์—ฌ 
    cnt = 1
    idx = 0
    for key in sorted_score.keys():
        sorted_score[key] = arr[idx]
        if cnt == x:
            idx += 1
            cnt = 1
        else:
            cnt += 1
    print("#"+str(t) , sorted_score[k] )

 

์ด์ ์„ ๊ตฌํ•œ ํ›„์— ํ•™์ƒ ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ๋”•์…”๋„ˆ๋ฆฌ์— ์ €์žฅํ–ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

์ •๋ ฌ๋œ ์ˆœ์„œ๋Œ€๋กœ ๋†’์€ ํ•™์ ์„ ์ฐจ๋ก€๋กœ ๋ถ€์—ฌํ•œ๋‹ค. 

 

 

 

 

 value ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋”•์…”๋„ˆ๋ฆฌ ์ƒ์„ฑํ•˜๊ธฐ 

dict(sorted(dic.items(), key=lambda x:x[1])))

 

 

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

T = int(input())
grade = ['A+', 'A0', 'A-', 'B+', 'B0', 'B-', 'C+', 'C0', 'C-', 'D0']
for test_case in range(1, T + 1):
    N, K = map(int, input().split())
    cnt = N//10
    student = []
    for i in range(1, N+1):
        semi, final, task = map(int, input().split())
        score = semi * 0.35 + final * 0.45 + task * 0.2
        student.append(score)
        if i == K:
            K = score
    student.sort(reverse=True)
    print('#%d %s' % (test_case, grade[student.index(K)//cnt]))

 

์ ์ˆ˜๋ฅผ ๋ฐฐ์—ด๋กœ ์ƒ์„ฑํ•˜๊ณ 

ํ•™์ ์„ ์•Œ๊ณ ์‹ถ์€ ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅ

์ ์ˆ˜๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ ํ›„ index ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•™์ƒ์˜ ํ•™์ ์„ ์ฐพ๋Š”๋‹ค.