🧩 Algorithm/[BOJ] Bronze

BOJ 2592번 : λŒ€ν‘œκ°’ (Python/Bronze 2)

devCloud 2023. 2. 9. 18:14
728x90
 

2592번: λŒ€ν‘œκ°’

μ–΄λ–€ μˆ˜λ“€μ΄ μžˆμ„ λ•Œ, κ·Έ μˆ˜λ“€μ„ λŒ€ν‘œν•˜λŠ” κ°’μœΌλ‘œ κ°€μž₯ ν”ν•˜κ²Œ μ“°μ΄λŠ” 것은 평균이닀. 평균은 μ£Όμ–΄μ§„ λͺ¨λ“  수의 합을 수의 개수둜 λ‚˜λˆˆ 것이닀. 예λ₯Ό λ“€μ–΄ 10, 40, 30, 60, 30, 20, 60, 30, 40, 50의 평균은

www.acmicpc.net

문제

μ–΄λ–€ μˆ˜λ“€μ΄ μžˆμ„ λ•Œ, κ·Έ μˆ˜λ“€μ„ λŒ€ν‘œν•˜λŠ” κ°’μœΌλ‘œ κ°€μž₯ ν”ν•˜κ²Œ μ“°μ΄λŠ” 것은 평균이닀. 평균은 μ£Όμ–΄μ§„ λͺ¨λ“  수의 합을 수의 개수둜 λ‚˜λˆˆ 것이닀. 예λ₯Ό λ“€μ–΄ 10, 40, 30, 60, 30, 20, 60, 30, 40, 50의 평균은 (10 + 40 + 30 + 60 + 30 + 20 + 60 + 30 + 40 + 50) / 10 = 370 / 10 = 37이 λœλ‹€.

평균 μ΄μ™Έμ˜ 또 λ‹€λ₯Έ λŒ€ν‘œκ°’μœΌλ‘œ μ΅œλΉˆκ°’μ΄λΌλŠ” 것이 μžˆλ‹€. μ΅œλΉˆκ°’μ€ μ£Όμ–΄μ§„ μˆ˜λ“€ κ°€μš΄λ° κ°€μž₯ 많이 λ‚˜νƒ€λ‚˜λŠ” μˆ˜μ΄λ‹€. 예λ₯Ό λ“€μ–΄ 10, 40, 30, 60, 30, 20, 60, 30, 40, 50이 μ£Όμ–΄μ§ˆ 경우, 30이 μ„Έ 번, 40κ³Ό 60이 각각 두 번, 10, 20, 50이 각각 ν•œ λ²ˆμ”© λ‚˜μ˜€λ―€λ‘œ, μ΅œλΉˆκ°’μ€ 30이 λœλ‹€.

μ—΄ 개의 μžμ—°μˆ˜κ°€ μ£Όμ–΄μ§ˆ λ•Œ μ΄λ“€μ˜ 평균과 μ΅œλΉˆκ°’μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…λ ₯

첫째 쀄뢀터 μ—΄ 번째 μ€„κΉŒμ§€ ν•œ 쀄에 ν•˜λ‚˜μ”© μžμ—°μˆ˜κ°€ μ£Όμ–΄μ§„λ‹€. μ£Όμ–΄μ§€λŠ” μžμ—°μˆ˜λŠ” 1,000 보닀 μž‘μ€ 10의 λ°°μˆ˜μ΄λ‹€.

 

좜λ ₯

첫째 μ€„μ—λŠ” 평균을 좜λ ₯ν•˜κ³ , λ‘˜μ§Έ μ€„μ—λŠ” μ΅œλΉˆκ°’μ„ 좜λ ₯ν•œλ‹€. μ΅œλΉˆκ°’μ΄ λ‘˜ 이상일 경우 κ·Έ 쀑 ν•˜λ‚˜λ§Œ 좜λ ₯ν•œλ‹€. 평균과 μ΅œλΉˆκ°’μ€ λͺ¨λ‘ μžμ—°μˆ˜μ΄λ‹€.


예제 μž…λ ₯

10
40
30
60
30
20
60
30
40
50

예제 좜λ ₯

37
30

풀이

- array.index(x) : λ¦¬μŠ€νŠΈμ—μ„œ x의 μΈλ±μŠ€ λ°˜ν™˜
- array.index(x, start) : 리슀트[start:]μ—μ„œ x의 인덱슀 λ°˜ν™˜
- array.index(x, start, stop) : 리슀트[start:stop]μ—μ„œ x의 인덱슀 λ°˜ν™˜
- μ€‘λ³΅λœ μ›μ†Œκ°€ 있으면 κ°€μž₯ μž‘μ€ 인덱슀λ₯Ό 리턴, λ¬Έμžμ—΄λ„ κ°€λŠ₯

Solution

l = []
for i in range(10):
    l.append(int(input()))
print(sum(l)//10)

num = [0]*1001
for j in l:
    num[j] += 1
print(num.index(max(num)))
728x90