-
[๋ฐฑ์ค] 11508 2+1 ์ธ์ผ with PythonPS 2022. 5. 9. 20:35728x90๋ฐ์ํ
๐ BOJ 11508 2+1 ์ธ์ผ
๐ก ์กฐ๊ฑด
์ ์ ํ 3๊ฐ๋ฅผ ํ ๋ฒ์ ์ฐ๋ค๋ฉด ๊ทธ์ค์์ ๊ฐ์ฅ ์ผ ๊ฒ์ ๋ฌด๋ฃ๋ก ์ง๋ถํ๊ณ ๋๋จธ์ง ๋ ๊ฐ์ ์ ํ ๊ฐ๊ฒฉ๋ง ์ง๋ถํ๋ฉด ๋ฉ๋๋ค.
ํ ๋ฒ์ 3๊ฐ์ ์ ์ ํ์ ์ฌ์ง ์๋๋ค๋ฉด ํ ์ธ ์์ด ์ ๊ฐ๋ฅผ ์ง๋ถํด์ผ ํฉ๋๋ค.
์ ์ ํ์ ์ N (1 โค N โค 100,000)
N๊ฐ์ ์ค์๋ ๊ฐ ์ ์ ํ์ ๊ฐ๊ฒฉ Ci (1 โค Ci โค 100,000)
์ ๋ต์ 231-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.์ต์๋น์ฉ์ผ๋ก ์ ์ ํ์ ๊ตฌ์ ํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ฌธ์ .
๊ทธ๋ฆฌ๋, ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin arr = [] n = int(stdin.readline()) for i in range(n): arr.append(int(stdin.readline())) arr.sort(reverse=True) ans = 0 for i in range(n): if i % 3 != 2: ans += arr[i] print(ans)
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
4 3 2 3 2
์คํ๊ฒฐ๊ณผ
8
โจ๏ธ ๋ฌธ์ ํ์ด
์ ์ ํ์ ๊ฐ๊ฒฉ์ arr ๋ฐฐ์ด์ ์ ๋ ฅ ๋ฐ๋๋ค.
arr ๋ฆฌ์คํธ๋ฅผ ์ญ์์ผ๋ก ์ ๋ ฌ(๋ด๋ฆผ์ฐจ์)ํ๋ค.
์ญ์์ผ๋ก ์ ๋ ฌ๋ arr ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉด์ ์ด๋ค ์กฐ๊ฑด์ ํด๋นํ์ง ์์ผ๋ฉด ans ์ arri์ ์ถ๊ฐํด์ค ๊ฒ ์ด๋ค.
(3)์์ ๋งํ ์กฐ๊ฑด >> ๊ฐ์ฅ ๋น์ผ ๋ฌผ๊ฑด ์์ผ๋ก ๊พธ๋ฌ๋ฏธ์ ๋ฃ์ผ๋ฉด, ์ต์ํ ์ธ๋ฒ์งธ๋ก ๋น์ผ ๋ฌผ๊ฑด์ ๋ฌด๋ฃ๊ฐ ๋ ์ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ i ๋ฅผ mod 3 ์ฐ์ฐ์ ํด์ฃผ์ด ์ด๋ฏธ ์ํ ๋ ๊ฐ๋ฅผ ๊พธ๋ฌ๋ฏธ์ ๋ฃ์๋ค๋ฉด, ์ธ๋ฒ์งธ๋ ๋ฌด๋ฃ์ด๊ธฐ ๋๋ฌธ์ ans์ ๊ฐ์ ๋ํด์ฃผ์ง ์์๋ ๋๋ค๋ ๊ฒ.
๐พ ๋๋์
- ๋จ์ ๊ทธ๋ฆฌ๋ ๋ฌธ์ ์๋๋ฐ, ์ ํ์ง ๋ชปํ๋ค.
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌป์ด(?)์๋ ์ ํ์ ๋ฌธ์ ๋ค์ ๋งค์ฐ ๊ณ ์ ํ๋ ๋ชจ์ต์ด ๋ณด์ธ๋ค.
- ๊ฒฝ์ฐ์ ์ ๋ฌธ์ ๋ ํท๊ฐ๋ฆฌ๋๋ฐ, ์๊ฐ๋ ๊น์ ๋ณต์ต์ ํด๋ด์ผํ ๊ฒ ๊ฐ๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 14696 ๋ฑ์ง๋์ด with Python (0) 2022.05.11 [๋ฐฑ์ค] 12970 AB with Python (0) 2022.05.09 [๋ฐฑ์ค] 2302 ๊ทน์ฅ ์ข์ with Python (0) 2022.03.31 [๋ฐฑ์ค] 2012 ๋ฑ์ ๋งค๊ธฐ๊ธฐ with Python (0) 2022.03.31 [๋ฐฑ์ค] 1343 ํด๋ฆฌ์ค๋ฏธ๋ ธ with Python (0) 2022.03.29