-
[๋ฐฑ์ค] 2012 ๋ฑ์ ๋งค๊ธฐ๊ธฐ with PythonPS 2022. 3. 31. 04:13728x90๋ฐ์ํ
๐ BOJ 2012 ๋ฑ์ ๋งค๊ธฐ๊ธฐ
๐ก ์กฐ๊ฑด
2007๋ KOI์ N๋ช ์ ํ์๋ค์ด ์ฐธ๊ฐํ์๋ค. ๋ชจ๋ ํ์๋ค์ ์์ ์ด N๋ช ์ค์์ ๋ช ๋ฑ์ ํ ๊ฒ์ธ์ง ์์ ๋ฑ์๋ฅผ ์ ์ด์ ์ ์ถํ๋๋ก ํ์๋ค.
1๋ฑ๋ถํฐ N๋ฑ๊น์ง ๋์์ฐจ ์์ด ๋ฑ์๋ฅผ ๋งค๊ฒจ์ผํ๋ค. ์ ์ถํ ์์ ๋ฑ์๋ฅผ ๋ฐํ์ผ๋ก ์์๋ก ๋ฑ์๋ฅผ ๋งค๊ธฐ๊ธฐ๋ก ํ๋ค.
์์ ์ ๋ฑ์๋ฅผ A๋ฑ์ผ๋ก ์์ํ์๋๋ฐ ์ค์ ๋ฑ์๊ฐ B๋ฑ์ด ๋ ๊ฒฝ์ฐ, ์ด ์ฌ๋์ ๋ถ๋ง๋๋ A์ B์ ์ฐจ์ด (|A - B|)๋ก ์์นํํ ์ ์๋ค.
๋น์ ์ N๋ช ์ ์ฌ๋๋ค์ ๋ถ๋ง๋์ ์ด ํฉ์ ์ต์๋ก ํ๋ฉด์, ํ์๋ค์ ๋ฑ์๋ฅผ ๋งค๊ธฐ๋ ค๊ณ ํ๋ค.
์์ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 โค N โค 500,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๊ฐ ์ฌ๋์ ์์ ๋ฑ์๊ฐ ์์๋๋ก ์ฃผ์ด์ง๋ค.
์์ ๋ฑ์๋ 500,000 ์ดํ์ ์์ฐ์์ด๋ค.๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ, ์ ๋ ฌ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin n = int(stdin.readline()) s = [] for i in range(n): s.append(int(stdin.readline())) s.sort() ans = 0 for i in range(1, n + 1): ans += abs(i - s[i - 1]) print(ans)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
5 1 5 3 1 2
์คํ๊ฒฐ๊ณผ
3
โจ๏ธ ๋ฌธ์ ํ์ด
์์ ๋ฑ์๋ฅผ ์ ๋ ฅ๋ฐ์ ์ฐจ๋ก๋๋ก list s ์ ์ ์ฅํ๋ค.
list s ๋ฅผ ์ ๋ ฌ ํ ๋ค, ans ๋ณ์๋ฅผ 0์ผ๋ก ์ด๊ธฐํ ํ๊ณ , 1๋ถํฐ n + 1๊น์ง ์ํํ๋ฉด์ ์์๋ฑ์์ ํด๋นํ๋
๋ถ๋ง๋๋ฅผ ๊ณ์ฐํ์ฌ ans์ ์ ์ฅํด์ค๋ค.ans๋ฅผ ์ถ๋ ฅํ๋ค.
๋ถ๋ง๋๋ฅผ ์ ๋ ฌํ์ฌ ์ค์ ๋ฑ์์ ๋น๊ตํ์ฌ ๊ณ์ฐ์ ํ๋ฉด ์ต์๊ฐ์ ๊ตฌํ ์ ์๋ค.
๐พ ๋๋์
- ์ ๋ ฌํ์ฌ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฐ๋จํ ๋ฌธ์ ์์ต๋๋ค.
- ๊ณจ๋ 5 ๋์ด๋ ์ ๋์ ๊ทธ๋ฆฌ๋์ ์ทจ์ฝํ ๋ชจ์ต์ ๋ณด์ด๋ ๊ฒ ๊ฐ์ ์ฐ์ต์ด ๋ง์ด ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11508 2+1 ์ธ์ผ with Python (0) 2022.05.09 [๋ฐฑ์ค] 2302 ๊ทน์ฅ ์ข์ with Python (0) 2022.03.31 [๋ฐฑ์ค] 1343 ํด๋ฆฌ์ค๋ฏธ๋ ธ with Python (0) 2022.03.29 [๋ฐฑ์ค] 1145 ์ ์ด๋ ๋๋ถ๋ถ์ ๋ฐฐ์ with Python (0) 2022.03.29 [๋ฐฑ์ค] 1038 ๊ฐ์ํ๋ ์ with Python (0) 2022.03.23