Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- ๊ตญ๋น์ง์
- ๋ ธ๋ง๋์ฝ๋
- ๋ชจ๊ฐ์ฝ
- ๊ทธ๋ฆฌ๋
- ํ๋ก์ ํธ
- ํ๋ก๊ทธ๋๋จธ์ค
- heapq
- ๋๋ฆผ์ฝ๋ฉ
- mongodb
- ์๊ณ ๋ฆฌ์ฆ
- HTML
- react
- Til
- node.js
- ์ฝ๋ฉ์ ํ
- error
- javascript
- ํ๋ก ํธ์๋
- ํ ์ดํ๋ก์ ํธ
- ํฌ๋กค๋ง
- ๊ฐ๋ฐ
- fe
- Python
- CSS
- KDT
- ๋ฐฑ์ค
- ํ์ด์ฌ
- JS
- ์ฝ๋ฉ
- ์ฝ๋ฉํ ์คํธ
Archives
- Today
- Total
๐ฑ → ๐ณ
[Baekjoon] 17392. ์ฐ์ธํ ๋ฐฉํ - python ๋ณธ๋ฌธ
728x90
https://www.acmicpc.net/problem/17392
17392๋ฒ: ์ฐ์ธํ ๋ฐฉํ
1์ผ, 5์ผ, 8์ผ์ ์ฝ์์ ์์๋๋ก ๋ฐฐ์นํ๋ฉด, 4์ผ๊ณผ 10์ผ์ ๊ฐ๊ฐ 1๋งํผ์ ์ฐ์ธํจ์ ๋๋ผ๊ฒ ๋์ด, ์ด 2๋งํผ์ ์ฐ์ธํจ์ ๋๋ผ๊ฒ ๋๋ค. ์ด๋ณด๋ค ๋ ์ฐ์ธํจ์ ๋๋ผ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์กด์ฌํ์ง ์๋๋ค.
www.acmicpc.net
๋ฌธ์ ์ ๋ณด
๋ฌธ์ ์ ํ | ๋์ด๋ | ๊ฑธ๋ฆฐ ์๊ฐ | ํด๊ฒฐ ์ ๋ฌด |
๊ทธ๋ฆฌ๋ | ์ค๋ฒ1 | 1h | o |
์ค๊ณ ๋ฐฉ๋ฒ
- sum : 0๊น์ง๋ ์ฐ์ธํ์ง ์์ผ๋๊น arr์ ๋ชจ๋ ๊ฐ์ 1์ ๋ํด์ค
- left : m - sum # ์ฐ์ธํ ๋
- n+1 : ์ฐ์ธํ ๋ ์ด ๋ค์ด๊ฐ ์ ์๋ ์นธ
- ์์(3 10 2 2 1)์ ๊ฒฝ์ฐ์๋ ๋ค์ด๊ฐ ์ ์๋ ์นธ์ด 4๊ฐ์ธ๋ฐ ์ฐ์ธํ ๋ ์ด 2์ด๋ฏ๋ก 1์ ์ ๊ณฑ * 2 ์ด ์ฐ์ธ์ ์ดํฉ์ด ๋๋ค
- ๋ง์ฝ ๋ค์ด๊ฐ ์ ์๋ ์นธ์ด 4๊ฐ์ธ๋ฐ ์ฐ์ธํ ๋ ์ด 5์ด์์ผ๋ฉด
- -1, -1, -1, -1 ๋จผ์ ๋ค์ด๊ฐ๊ณ ๋๋จธ์ง ํ๊ฐ -2์ ์ ๊ณฑ ๋ํด์ฃผ๋ ๊ฒ
์ฝ๋
n,m = map(int, input().split())
answer = 0
sum = 0
left = 0
arr = list(map(int, input().split()))
for i in arr:
sum += i + 1 # 0๊น์ง๋ ์ฐ์ธํ์ง ์์ผ๋๊น + 1
if sum < m:
left = m - sum # ๋๋จธ์ง
div1 = left // (n + 1) # ๋ค์ด๊ฐ ์ ์๋ ์นธ์ ์
div2 = left % (n + 1)
for i in range(1, div1 + 1):
answer += i ** 2 * (n + 1)
answer += (div1 + 1) ** 2 * div2
print(answer)
์๊ฐ ๋ณต์ก๋
O(n)
์ด๋ ค์ ๋ ์
๋ค์ด๊ฐ๋ ๊ณต๊ฐ์ ๋ํด ๊ตฌํํ๋ ๊ฒ์ด ํ๋ค์์
728x90
'Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 14281. ๋ณผ๋ก ์์ด - python (0) | 2023.10.02 |
---|---|
[Baekjoon] 1469. ์ ์ฌ์ด ์์ด - python (0) | 2023.09.29 |
[Baekjoon] 2404. ๋จ์ ๋ถ์๋ก ๋ถํ - python (0) | 2023.09.28 |
[Baekjoon] 25421. ์กฐ๊ฑด์ ๋ง๋ ์ ์์ ๊ฐ์ - python (0) | 2023.09.28 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ - python (0) | 2023.09.28 |