[๋ฐฑ์ค 2847๋ฒ] [๐ฅ4] ๊ฒ์์ ๋ง๋ ๋์ค์ด (python)
๋ฌธ์
ํ๊ต์์ ๊ทธ๋ํฝ์ค ์์ ์ ๋ค์ ๋์ค์ด๋ ์์ ์๊ฐ์ ๋ค์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ค๋งํธํฐ ๊ฒ์์ ๋ง๋ค์๋ค. ๊ฒ์์๋ ์ด N๊ฐ์ ๋ ๋ฒจ์ด ์๊ณ , ๊ฐ ๋ ๋ฒจ์ ํด๋ฆฌ์ดํ ๋ ๋ง๋ค ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ํ๋ ์ด์ด์ ์ ์๋ ๋ ๋ฒจ์ ํด๋ฆฌ์ดํ๋ฉด์ ์ป์ ์ ์์ ํฉ์ผ๋ก, ์ด ์ ์๋ฅผ ๋ฐํ์ผ๋ก ์จ๋ผ์ธ ์์๋ฅผ ๋งค๊ธด๋ค. ๋์ค์ด๋ ๋ ๋ฒจ์ ๋์ด๋ ์์ผ๋ก ๋ฐฐ์นํ๋ค. ํ์ง๋ง, ์ค์๋ก ์ฌ์ด ๋ ๋ฒจ์ด ์ด๋ ค์ด ๋ ๋ฒจ๋ณด๋ค ์ ์๋ฅผ ๋ง์ด ๋ฐ๋ ๊ฒฝ์ฐ๋ฅผ ๋ง๋ค์๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์ค์ด๋ ํน์ ๋ ๋ฒจ์ ์ ์๋ฅผ ๊ฐ์์ํค๋ ค๊ณ ํ๋ค. ์ด๋ ๊ฒํด์ ๊ฐ ๋ ๋ฒจ์ ํด๋ฆฌ์ดํ ๋ ์ฃผ๋ ์ ์๊ฐ ์ฆ๊ฐํ๊ฒ ๋ง๋ค๋ ค๊ณ ํ๋ค.
๊ฐ ๋ ๋ฒจ์ ํด๋ฆฌ์ดํ ๋ ์ป๋ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ๋ช ๋ฒ ๊ฐ์์ํค๋ฉด ๋๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ์๋ ํญ์ ์์์ด์ด์ผ ํ๊ณ , 1๋งํผ ๊ฐ์์ํค๋ ๊ฒ์ด 1๋ฒ์ด๋ค. ํญ์ ๋ต์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ๋ง ์ฃผ์ด์ง๋ค. ์ ๋ต์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋ ์ ์๋ฅผ ๋ด๋ฆฌ๋ ๊ฒ์ ์ต์ํ์ผ๋ก ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ ๋ฒจ์ ์ N์ด ์ฃผ์ด์ง๋ค. (1 โค N โค 100) ๋ค์ N๊ฐ ์ค์๋ ๊ฐ ๋ ๋ฒจ์ ํด๋ฆฌ์ดํ๋ฉด ์ป๋ ์ ์๊ฐ ์ฒซ ๋ฒ์งธ ๋ ๋ฒจ๋ถํฐ ๋ง์ง๋ง ๋ ๋ฒจ๊น์ง ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ ์๋ 20,000๋ณด๋ค ์์ ์์ ์ ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์๋ฅผ ๋ช ๋ฒ ๊ฐ์์ํค๋ฉด ๋๋์ง ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
3
5
5
5
์์ ์ถ๋ ฅ 1
3
์์ ์ ๋ ฅ 2
4
5
3
7
5
์์ ์ถ๋ ฅ 2
6
๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋งํ๋ ๋ถ๋ถ
๋ค์ ์ซ์๋ถํฐ ๋ฎ์ถฐ์ฃผ์ด์ผ ํ๋ค. ์์์ ๋ถํฐ ๋ฎ์ถ๊ฒ ๋๋ฉด, ๋ค์ ์์ ๋์ด๋๊ฐ ๋ค์ ๋์ด๋๋ณด๋ค ๋์์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฝ๋
ver(1)
n = int(input())
k = []
for _ in range(n):
k.append(int(input()))
c = 0
for i in range(n-1,0,-1):
if k[i] <= k[i - 1]:
c += (k[i - 1] - k[i] + 1)
k[i - 1] = k[i] - 1
print(c)
ver(2)
n = int(input())
p = list([int(input()) for i in range(n)])
p.reverse()
cnt = 0
for i in range(1,n):
if p[i] >= p[i-1]:
dif = p[i-1] - 1
cnt += p[i] - dif
p[i] = dif
dif = 0
print(cnt)
๋๊ธ๋จ๊ธฐ๊ธฐ