๋Œ€ํ‘œ๊ฐ’

๐Ÿ“„ ๋ฌธ์ œ

N๋ช…์˜ ํ•™์ƒ์˜ ์ˆ˜ํ•™์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
N๋ช…์˜ ํ•™์ƒ๋“ค์˜ ํ‰๊ท (์†Œ์ˆ˜ ์ฒซ์งธ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ)์„ ๊ตฌํ•˜๊ณ ,
N๋ช…์˜ ํ•™์ƒ ์ค‘ ํ‰๊ท ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ•™์ƒ์€ ๋ช‡ ๋ฒˆ์งธ ํ•™์ƒ์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.
ํ‰๊ท ๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ ๋จผ์ € ์ ์ˆ˜๊ฐ€ ๋†’์€ ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‹ต์œผ๋กœ ํ•˜๊ณ ,
๋†’์€ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ํ•™์ƒ์ด ์—ฌ๋Ÿฌ ๋ช…์ผ ๊ฒฝ์šฐ ๊ทธ ์ค‘ ํ•™์ƒ๋ฒˆํ˜ธ๊ฐ€ ๋น ๋ฅธ ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‹ต์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ์ค„์— ์ž์—ฐ์ˆ˜ N(5<=N<=100)์ด ์ฃผ์–ด์ง€๊ณ ,
๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ๊ฐ ํ•™์ƒ์˜ ์ˆ˜ํ•™์ ์ˆ˜์ธ N๊ฐœ์˜ ์ž์—ฐ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋Š” ์•ž์—์„œ๋ถ€ํ„ฐ 1๋กœ ์‹œ์ž‘ํ•ด์„œ N๊นŒ์ง€์ž…๋‹ˆ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ฒซ์ค„์— ํ‰๊ท ๊ณผ ํ‰๊ท ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ•™์ƒ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
ํ‰๊ท ์€ ์†Œ์ˆ˜ ์ฒซ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ
10
45 73 66 87 92 67 75 79 75 80

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ
74 7

๐Ÿงž ํ’€์ด

๋”๋ณด๊ธฐ

ํ’€์ด

# ์ž…๋ ฅ: ์ฒซ์งธ ์ค„ - ํ•™์ƒ ์ˆ˜ n
# ์ž…๋ ฅ: ๋‘˜์งธ ์ค„ - ๊ฐ ํ•™์ƒ ์ˆ˜ํ•™์ ์ˆ˜

# ์ถœ๋ ฅ: ํ‰๊ท  ๋ฐ ํ‰๊ท ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ•™์ƒ์˜ ๋ฒˆํ˜ธ ์ถœ๋ ฅ
# ์ถœ๋ ฅ: ํ‰๊ท ์€ ์†Œ์ˆ˜ ์ฒซ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ '73.9 -> 74'

n = int(input())                                    # ์ •์ˆ˜ n ์ž…๋ ฅํ•˜์—ฌ ํ• ๋‹น
m_score = list(map(int, input().split()))           # m_score์— ๊ฐ ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์ ์ˆ˜ ์ž…๋ ฅํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋กœ ํ• ๋‹น

average = round((sum(m_score) / len(m_score)))      # ํ‰๊ท  ์ถœ๋ ฅ: sum()์œผ๋กœ ํ•ฉ ๊ตฌํ•˜๊ณ  m_score์˜ ๊ธธ์ด๋ฅผ len()์œผ๋กœ ๊ตฌํ•˜์—ฌ ๋‚˜๋ˆ”; round()๋กœ ๋ฐ˜์˜ฌ๋ฆผ

min = abs(m_score[0] - average)                     # ์ตœ์†Ÿ๊ฐ’ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •: ์ฒซ ๋ฒˆ์งธ ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์ ์ˆ˜ - ํ‰๊ท  ์ ์ˆ˜
stu = 0                                             # ํ•™์ƒ ๋ฒˆํ˜ธ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •: 0

for i in range(1, len(m_score)):                    # 1๋ถ€ํ„ฐ n๋งŒํผ ๋ฐ˜๋ณต; len(m_score) ๋Œ€์‹  n์„ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ์Œ
    if abs(m_score[i] - average) < min:             # i๋ฒˆ์งธ ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์ ์ˆ˜ - ํ‰๊ท  ์ ์ˆ˜์˜ ์ ˆ๋Œ€๊ฐ’์ด ์ตœ์†Ÿ๊ฐ’๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ
        min = abs(m_score[i] - average)             # ํ•ด๋‹น ๊ฐ’์„ ์ตœ์†Œ๊ฐ’์œผ๋กœ ํ• ๋‹น
        stu = i                                     # ํ•™์ƒ ๋ฒˆํ˜ธ๋„ i๋กœ ํ• ๋‹น

print(average, stu+1)                               # ํ‰๊ท ๊ณผ ํ•™์ƒ ๋ฒˆํ˜ธ ์ถœ๋ ฅ (stu๋Š” ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๊ธฐ ๋•Œ๋ฌธ์— +1 ํ•ด์ค˜์•ผ ํ•จ)

 

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

# ๋Œ€ํ‘œ๊ฐ’

n = int(input())
a = list(map(int, input().split()))
ave = round(sum(a)/n)
min = 2147000000
for idx, x in enumerate(a):
    tmp = abs(x-ave)
    if tmp < min:
        min = tmp
        score = x
        res = idx + 1
    elif tmp == min:
        if x > score:
            score = x
            res = idx + 1

print(ave, res)

+ Recent posts