์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- applicationeventpublisher
- java
- 2981
- ํ์๋ฒ
- counting elements
- beandefinitionstoreexception
- Spring
- API
- javascript
- error
- BFS
- spring security
- springboot
- ํ๋ก๊ทธ๋๋จธ์ค
- algorithm
- ์ฝ๋ฉํ ์คํธ
- ์์
- brute force
- Greedy
- ๋ฌธ์์ด
- codility
- ๋ฐฑ์ค
- ํ์ด์ฌ
- Python
- ์๊ณ ๋ฆฌ์ฆ
- ๋ผ์ด๋ธํ ํ๋ฆฟ
- 2018 KAKAO BLIND RECRUITMENT
- Dijkstra
- HTTP
- ์ต๋จ๊ฒฝ๋ก
- Today
- Total
Altiora Petamus
Tape Equilibrium ๋ณธ๋ฌธ
๐ค์๊ฐํด๋ณด๊ธฐ
๋ฌธ์ ๊ทธ๋๋ก ๋จ์ํ ๋ฐฐ์ด์ slice ํ๋ ๋ฐฉ์์ผ๋ก ํ์๋๋ ์๊ฐ๋ณต์ก๋ ๋ฌธ์ ๋ผ ๊ทธ๋ฐ์ง ์ ์๊ฐ ์์ฃผ ์ง๊ฒ ๋์๋ค.
๊ทธ๋์ Dynamic programming ์ผ๋ก ํ์ด๋ณด์๋ค.
- ํฉ์ ์ ์ฅํด๊ฐ๋ ๋ฐฐ์ด์ ๋ง๋ค์ด๋๋ค.
- ๊ทธ ๋ฐฐ์ด์์ ํ๋์ฉ ๊บผ๋ด์ ์ฐ์ฐ์ ์งํํ๋ฉด, ๋ค์ ์ฒ์๋ถํฐ ํฉ์ ๊ตฌํ ํ์๊ฐ ์๋ค.
์ฒซ๋ฒ์งธ ํ์ด - Total score 61%
def solution(A):
result = 0
dp = [0] * (len(A) - 1)
dp[0] = A[0]
for i in range(1, len(A) - 1):
dp[i] = dp[i - 1] + A[i]
a = sum(A)
for j in dp:
abs1 = abs((a - j) - j)
if result == 0 or result > abs1:
result = abs1
return result
์ด๋๊ฐ ์์ธ ์์๊ฐ ์์๋์ง ์ ์ฒด์ ์ผ๋ก ์ ์๊ฐ ๋ง์กฑ์ค๋ฝ์ง ๋ชปํ๋ค.
์ ํํ์ง ์์ง๋ง ์์๋๋ ๋ถ๋ถ์ result = 0 ์ด๋ผ๊ณ ์ด๊ธฐํํ๊ณ ์กฐ๊ฑด๋ฌธ์ ์งํํ ๋ ์ ๋๋ก ๊ฐ์ด ๋ฐ์์ด ์๋๋ ๊ฒ์ผ๋ก ๋ณด์๋ค.
์กฐ๊ธ ๋ ์ ํํ๊ฒ ๋์ํ๋๋ก ์ฝ๋๋ฅผ ๊ณ ์ณ๋ดค๋ค.
๋๋ฒ์งธ ํ์ด - Total Score 100%
def solution(A):
result = []
s = sum(A)
t = [0] * (len(A) - 1)
dp = [0] * (len(A) - 1)
dp[0] = A[0]
t[0] = s - dp[0]
for i in range(1, len(A) - 1):
dp[i] = dp[i - 1] + A[i]
t[i] = s - dp[i]
for i in range(len(dp)):
result.append(abs(dp[i] - t[i]))
return min(result)
min()
์ ์ฌ์ฉํด์ ์ต์๊ฐ์ ๋ฆฌํดํด์ฃผ๋ ๋ฐฉ์์ด๋ผ ์ ์๋ฅผ ์ง๊ฒ ์ค๊ฑฐ๋ผ ์๊ฐํ๋๋ฐ, ์ด ์ ๋๋ ํ์ฉ๋๋ ๋ฒ์ ์์ธ๊ฐ๋ณด๋ค. ์ต์
์ ๊ฒฝ์ฐ ์ฝ 100,000๊ฐ๋ฅผ ๊ฒ์ฌํ ํ
๋ฐ O(N)์ ๋ง์กฑํ ์ ์๋ค๋ฉด ํต๊ณผ๋ผ ๋ณด์ฌ์ง๋ค.
'1day-1algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฒฝ ๋ถ์๊ณ ์ด๋ํ๊ธฐ (0) | 2021.07.05 |
---|---|
๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (0) | 2021.07.02 |
์์ ์ฐพ๊ธฐ (0) | 2021.06.29 |
๋ฒ ์คํธ ์จ๋ฒ (0) | 2021.06.26 |
๋จ์ด ๋ณํ (0) | 2021.06.25 |