정수 배열이 주어졌을 때, 배열의 원소의 값을 자신을 제외한 다른 원소들의 곱으로 변경하시오. 단, 나누기 연산은 수행하지 않습니다.
Input: [1, 2, 3, 4, 5] Output: [120, 60, 40, 30, 24]
Input: [5, 3, 4, 2, 6, 8] Output: [1152, 1920, 1440, 2880, 960, 720]
단 이 문제는 O(N)으로 풀어야 한다.!
앞에서부터 마지막 원소를 제외하고 하나씩 곱한 배열과, 뒤에서부터 첫번째 원소를 제외하고 하나씩 곱한 배열 두가지를 만든다.
예를 들어 [1, 2, 3, 4, 5] 예제인 경우
첫번째 배열은 [1(초기값), 1, 12, 123, 1234]
두번째 배열은 [5432, 543, 54, 5, 1(초기값)]
이런식으로 계단식으로 어긋나게 배열을 두개 만든 다음 순서대로 곱하면 된다.