[알고리즘]배열의 이어지는 인터벌 최대합 구하기
# 문제 정수 배열(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------------------- 해당 문제는 마이크로소프트 코딩 테스트이다.문제는 간단하다. 그저 이어지는 배열의 가장 큰 합을 구하면 된다. 시간 복잡도가 O(n)이기 때문에 반복문 한번만에 풀어야하는데이게 꽤 골치가 아팠다.머리를 싸매며 풀어봤지만, 나는 결국 이 문제를 풀지 못했다. 다른 사람들의 해답을 보니 간단했었는데...
[코딜리티/Codility] CyclicRotation 문제
# 문제 배열이 주어지고 정수가 주어지면, 정수의 수 만큼 배열의 끝값을 앞으로 옮기고, 정리된 배열을 리턴하는 함수를 만들라는 것이다. 메게변수로는 A와 K가 주어진다.A는 정수 배열이 넘어오고 K는 로테이션 횟수이다. 예를 들어 A = [3, 8, 9, 7, 6]K = 3 가 주어지면 리턴 배열은 [9, 7, 6, 3, 8] 가 된다. 다른 수로 예를 들어보자.K=5이라면 [3, 8, 9, 7, 6] -> [6, 3, 8, 9, 7][6, 3, 8, 9, 7] -> [7, 6, 3, 8, 9][7, 6, 3, 8, 9] -> [9, 7, 6, 3, 8] 이런식으로 나올테고 A = [0, 0, 0]K = 1 라면 [0, 0, 0] 이 나올것이다. A = [1, 2, 3, 4]K = 4 라면 [1, 2,..