< ํ์ด์ฌ ์ฝ๋ฉํ ์คํธ ๋ฌธ์ >
Softeer ์ฐ์ต๋ฌธ์ : https://softeer.ai/practice/6294
๐งท ๋ฌธ์
N๋ช ์ ํ์๋ค์ ์ฑ์ ์ด ํ๋ฒ์์๋๋ก ์ฃผ์ด์ก๋ค.
ํ๋ฒ ๊ตฌ๊ฐ [A, B]๊ฐ ์ฃผ์ด์ก์ ๋ ์ด ํ์๋ค ์ฑ์ ์ ํ๊ท ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ.
๐งท ์ ์ฝ์กฐ๊ฑด
1 ≤ N < 10^6 ์ธ ์ ์
1≤K < 10^4 ์ธ ์ ์
1 ≤Si < 100 ์ธ ์ ์
1 ≤ Ai ≤ Bi < N
๐งท ์ ๋ ฅํ์
์ฒซ ๋ฒ์งธ ์ค์ ํ์ ์ N๊ณผ ๊ตฌ๊ฐ ์ K๊ฐ ์ฃผ์ด์ง๋ค.
๋ ๋ฒ์งธ ์ค์๋ ํ์์ ์ฑ์ Si(1≤i≤N)๊ฐ ์ฃผ์ด์ง๋ค.
i + 2 (1≤i≤K)๋ฒ์งธ ์ค์๋ 1๋ฒ ์งธ ๊ตฌ๊ฐ Ai, Bi๊ฐ ์ฃผ์ด์ง๋ค.
๐งท ์ถ๋ ฅํ์
i๋ฒ์งธ ์ค์ i๋ฒ์งธ ๊ตฌ๊ฐ์ ์ฑ์ ํ๊ท (์์์ ์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ)์ ์ถ๋ ฅํ๋ค.
์ฐจ์ด๊ฐ 0.01์ดํ์ด๋ฉด ์ ๋ต์ผ๋ก ์ฑ์ ๋จ.
๐งท ์ ๋ ฅ์์ 1
5 3
10 50 20 70 100
1 3
3 4
1 5
๐งท ์ถ๋ ฅ์์ 1
26.67
45.00
50.00
๐งท ํ์ด์ฌ ์ฝ๋
(์ ์ฒด ์ฝ๋๋ ์๋์)
โ๏ธ ๊ฐ ์ ๋ ฅ๋ฐ๊ธฐ
# ๊ฐ ๋ ๊ฐ์ ์
๋ ฅ๋ฐ๊ธฐ
n, k = map(int, input().split())
# ๋ฆฌ์คํธ๋ก ์
๋ ฅ๋ฐ๊ธฐ
scores = list(map(int, input().split()))
โ๏ธ ๊ตฌ๊ฐ ์์ ์ ์ ํฉํ๊ธฐ
# ๊ตฌ๊ฐ(k)๋งํผ ๋ฐ๋ณต
for _ in range(k):
# ๊ตฌ๊ฐ ์
๋ ฅ ๋ฐ๊ธฐ
a, b = map(int, input().split())
# ํด๋น ๊ตฌ๊ฐ๋งํผ์ ์ ์ ๋ฆฌ์คํธ๋ก ์ ์ฅ
range_list = scores[a-1:b]
# ๊ตฌ๊ฐ ์์ ์ ์ ํฉํ๊ธฐ
total = sum(range_list)
โ๏ธ ์ถ๋ ฅ
# ํ๊ท ๊ตฌํ๊ธฐ
result = total /(b - a + 1)
# ์์์ ๋์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ
print(round(result, 2))
โ๏ธ ์ ์ฒด ์ฝ๋
n, k = map(int, input().split())
scores = list(map(int, input().split()))
for _ in range(k):
a, b = map(int, input().split())
range_list = scores[a-1:b]
total = sum(range_list)
result = total /(b - a + 1)
print(round(result, 2))
'Algorithm > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] BFS ์๊ณ ๋ฆฌ์ฆ (0) | 2023.12.20 |
---|---|
[Python] ์ด์ง ํ์ ์๊ณ ๋ฆฌ์ฆ (1) | 2023.11.20 |
[Python] ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ - ์ ํ, ์ฝ์ , ํต, ๊ณ์ (2) | 2023.11.15 |
[Python] DFS ์๊ณ ๋ฆฌ์ฆ (0) | 2023.11.13 |
[Python] 1์ด ๋ ๋๊น์ง (๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ) (0) | 2023.11.13 |