# Sherlock and Array (Search)
[문제]
[코드]
string balancedSums(vector<int> arr) {
int leftSum = 0;
int rightSum = 0;
for(int i=0; i < arr.size(); i++)
rightSum += arr[i];
for(int i = 0; i < arr.size(); i++)
{
rightSum -= arr[i];
if(leftSum == rightSum)
return "YES";
leftSum += arr[i];
}
return "NO";
}
[코드설명]
주어진 정수 배열에서 기준의 좌, 우 원소들의 합이 같은지 확인하는 문제다.
기준(arr[i])에서의 leftSum과 rightSum을 구한 후, 비교해 풀었다.
원소들의 전체 합을 구한 후에 arr[i]만큼 뺀 것을 rightSum으로 두었고,
leftSum과 rightSum을 비교한 후에 leftSum에 arr[i]를 더한 것을 leftSum으로 두었다.
arr를 순차적으로 탐색해가다가 leftSum과 rightSum이 같아지는 때에서 "YES"를 반환했고,그렇지 않고 for문이 종료되면 "NO"를 반환했다.
[채점 결과]
'알고리즘' 카테고리의 다른 글
[BOJ] 10871: X보다 작은 수 (0) | 2022.09.21 |
---|---|
[HackerRank] Mini-Max Sum (0) | 2021.11.21 |
[HackerRank] Plus Minus (0) | 2021.11.05 |
[HackerRank] Closest Numbers (0) | 2021.11.05 |
[HackerRank] Find the Median (0) | 2021.10.08 |