[문제]
전에 이 문제를 풀었을때는 성능이 진짜 별로였는데, 오늘은 성능. 문제를 해결하기 위해 끙끙 거리다 드뎌 해결했다.
[답]
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
31
32
33
34
|
public int Solution(int[] A)
{
int result = 0, sum = 0;
for(int j = 0; j<A.Length; ++j)
{
sum += A[j];
}
int left = 0, right = 0, temp = 0, dif = 0;
for (var i = 0; i < A.Length - 1; ++i)
{
temp += A[i];
left = sum - temp;
right = sum - left;
if (left > right)
dif = left - right;
else
dif = right - left;
if (i == 0)
result = dif;
else
{
if (result > dif)
result = dif;
}
}
return result;
}
|
cs |
[전 후 비교]
]
[풀이]
* 전체 값을 미리 계산하고 하는것이 관건!!
* O(n)의 성능이 나오게 하는게.. 답이었나보다
반응형
'프로그래밍 > Codility' 카테고리의 다른 글
MaxCounters (0) | 2021.01.02 |
---|---|
[C#] FrogRiverOne (0) | 2021.01.02 |
[c#] Codility - PermCheck (0) | 2019.09.03 |
[c#] codility - TapeEquilibrium - 좀 더 생가해보기. (0) | 2019.09.02 |
[c#] Codility - PermMissingElem (0) | 2019.09.01 |
댓글