Skip to content

Latest commit

 

History

History
32 lines (18 loc) · 1.09 KB

20200112.md

File metadata and controls

32 lines (18 loc) · 1.09 KB

2020. 01. 12

오늘의 문제 :

정수 배열이 주어졌을 때, 배열의 원소의 값을 자신을 제외한 다른 원소들의 곱으로 변경하시오. 단, 나누기 연산은 수행하지 않습니다.

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(초기값)]

이런식으로 계단식으로 어긋나게 배열을 두개 만든 다음 순서대로 곱하면 된다.

소스코드 :