해당 toy 문제는,
주어진 숫자의 배열 안에서 세 개의 숫자를 뽑을 때,
세 숫자를 곱한 값이 최대가 되는 경우를 찾아서 반환하는 것이었다.
test case로는 다양한 조건이 있었다.
let head = 0; let tail = 0; array.sort((a, b) => a - b); //이 부분에서, 주어졌던 배열이 크기순으로 정렬된다. 작은 것부터 큰 숫자의 오름차순으로 정렬된다. head = array[0] * array[1] * array[array.length - 1]; // mixed, 양수 음수가 섞인 경우 array[array.length-1]이 무조건 양수일 것으로 가정. tail = array[array.length - 1] * array[array.length - 2] * array[array.length - 3]; // all neg or pos. 이 경우 정렬된 배열의 마지막 부분부터 차례대로 세 개를 뽑아온다. if(head > tail) { return head; } else { return tail; } //그 후 head와 tail을 비교하여 큰 것을 return 하면 주어진 배열이 어떠한 종류건 분류가 되어 최대의 값을 항상 얻을 수 있다.
BreadthFirstSearch in Tree - Javascript (0) | 2019.06.21 |
---|---|
powerSet - recursion (0) | 2019.06.20 |
N-Queens 알고리즘 (N x N 체스판에 N개의 퀸 체스말 놓기) (0) | 2019.06.09 |
Find NthFibonacci without recursion(반복문을 이용한 n번째 피보나치 수 찾기) - Javascript (0) | 2019.06.09 |
124 나라의 숫자 (진법 변환의 원리 이해) - Javascript (0) | 2019.04.25 |
댓글 영역