티스토리 뷰
//문제
정수 배열(int array)가 주어지면 가장 큰 이어지는 원소들의 합을 구하시오. 단, 시간복잡도는 O(n).
//예제
Input: [-1, 3, -1, 5]
Output: 7 // 3 + (-1) + 5
Input: [-5, -3, -1]
Output: -1 // -1
Input: [2, 4, -2, -3, 8]
Output: 9 // 2 + 4 + (-2) + (-3) + 8
//
// main.c
// program
//
// Created by Eon on 7/26/18.
// Copyright © 2018 Eonseok Yim. All rights reserved.
//
#include <stdio.h>
int math_max(int a, int b) {
if (a < b) {
return b;
}
else return a;
}
int solution(int *array, int length) {
int max = array[0];
int current = array[0];
for (int i=1; i<length; i++) {
current = math_max(current + array[i], array[i]);
max = math_max(current, max);
}
return max;
}
int main(int argc, const char * argv[]) {
int len = 4;
int array[10] = {-1, 3, -1, 5};
printf("max: %d\n", solution(array, len));
return 0;
}
//실행
Eons-MacBook-Pro:Debug eon$ ls
program
Eons-MacBook-Pro:Debug eon$ ./program
max: 7
Eons-MacBook-Pro:Debug eon$
'알고리즘' 카테고리의 다른 글
ethminer 맥북 충전기 유무 & 디스플레이 꺼짐 유무에 따라 채굴하기 (0) | 2018.11.22 |
---|---|
윈도우 아파치 2.4 WebDAV 서버 설정 (1) | 2018.11.22 |
Java coding, Boggle coding (0) | 2018.10.17 |
짝수 피보나치 수의 합 (0) | 2018.07.27 |
argc & argv (0) | 2018.07.26 |
- Total
- Today
- Yesterday
- 서버
- 백준
- python
- eclipse
- 코드업
- Java
- 알고리즘
- 프로그래밍
- 환경오염
- 맥
- 카카오톡
- 외장그래픽
- 파이썬
- CodeUp
- C++
- 아키티오
- 자바
- 우분투
- 코딩
- 개발
- se846
- 맥북
- NAS
- 모바일 프로그래밍
- egpu
- Vega64
- 슈어
- 산업화
- 문제
- 이클립스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |