문제 링크 : programmers.co.kr/learn/courses/30/lessons/49995
코딩테스트 연습 - 쿠키 구입
과자를 바구니 단위로 파는 가게가 있습니다. 이 가게는 1번부터 N번까지 차례로 번호가 붙은 바구니 N개가 일렬로 나열해 놨습니다. 철수는 두 아들에게 줄 과자를 사려합니다. 첫째 아들에게는
programmers.co.kr
딱히 어려운 점은 없었고 부분합의 개념을 사용했다.
#include <string>
#include <vector>
using namespace std;
int sum[2001];
int solution(vector<int> cookie) {
int answer = 0;
int cookieSize = cookie.size();
for(int index = 0; index < cookieSize; index++) {
sum[index + 1] = sum[index] + cookie[index];
}
for(int i = 1; i < cookieSize; i++) {
int firstSon = sum[i];
for(int j = i + 1; j <= cookieSize; j++) {
int secondSon = sum[j] - firstSon;
if(answer >= secondSon || secondSon > firstSon) {
continue;
}
for(int k = 0; k < i; k++) {
if(secondSon == firstSon - sum[k]) {
answer = max(answer, secondSon);
break;
}
}
}
}
return answer;
}
'알고리즘' 카테고리의 다른 글
[백준(baekjoon)] 피보나치 함수 (C/C++) (0) | 2021.01.14 |
---|---|
[백준(baekjoon)] 1012번 유기농배추 (C/C++) (0) | 2021.01.14 |
[프로그래머스] 여행경로 (C/C++) (0) | 2020.12.30 |
[프로그래머스] 줄 서는 방법 (C/C++) (0) | 2020.12.22 |
[프로그래머스] 멀쩡한 사각형 (C/C++) (0) | 2020.12.21 |
댓글