Skip to content

Commit 5d5255c

Browse files
committed
Solution productExceptSelf
1 parent 8609721 commit 5d5255c

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
//
2+
// 239.swift
3+
// Algorithm
4+
//
5+
// Created by ์•ˆ์„ธํ›ˆ on 4/8/25.
6+
//
7+
8+
//Product of Array Except Self
9+
class Solution {
10+
func productExceptSelf(_ nums: [Int]) -> [Int] {
11+
12+
var array1 : [Int] = nums // ์›๋ž˜ ๋ฐฐ์—ด
13+
var array2 : [Int] = nums.reversed() // ๋’ค์ง‘์€ ๋ฐฐ์—ด
14+
15+
var array1Forloop : [Int] = [] // ์›๋ž˜ ๋ฐฐ์—ด์„ ๊ณ„์‚ฐ ํ›„ ์ €์žฅํ•  ๋ฐฐ์—ด
16+
var array2Forloop : [Int] = [] // ๋’ค์ง‘์€ ๋ฐฐ์—ด์„ ๊ณ„์‚ฐ ํ›„ ์ €์žฅํ•  ๋ฐฐ์—ด
17+
18+
var multiply = 1 // ์—ฐ์‚ฐ์šฉ
19+
20+
var result : [Int] = [] // ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์„ ๋ฐฐ์—ด
21+
22+
// ์›๋ž˜ ๋ˆ„์  ๊ณฑ ๊ณ„์‚ฐ (์ž๊ธฐ ์ž์‹  ์ œ์™ธ)
23+
for num in array1 {
24+
array1Forloop.append(multiply) // ํ˜„์žฌ๊นŒ์ง€์˜ ๋ˆ„์  ๊ณฑ์„ ์ €์žฅ (์‹œ์ž‘์€1)
25+
multiply = num * multiply // ๋ˆ„์  ๊ณฑ ์—…๋ฐ์ดํŠธ
26+
}
27+
28+
multiply = 1 //๋’ค์ง‘์€ ๋ฐฐ์—ด ๊ณ„์‚ฐ์„ ์œ„ํ•ด ์ดˆ๊ธฐํ™”
29+
30+
// ๋’ค์ง‘์€ ๋ฐฐ์—ด ๋ˆ„์  ๊ณฑ ๊ณ„์‚ฐ (์ž๊ธฐ ์ž์‹  ์ œ์™ธ)
31+
for num in array2 {
32+
array2Forloop.append(multiply) // ํ˜„์žฌ๊นŒ์ง€์˜ ๋ˆ„์  ๊ณฑ์„ ์ €์žฅ
33+
multiply = num * multiply // ๋ˆ„์  ๊ณฑ ์—…๋ฐ์ดํŠธ
34+
}
35+
36+
array2Forloop = array2Forloop.reversed()// ๋’ค์ง‘์€ ๋ฐฐ์—ด ๊ณฑ์„ ์›๋ž˜ ์ˆœ์„œ๋กœ ๋˜๋Œ๋ฆผ
37+
38+
// ์›๋ž˜ ๋ฐฐ์—ด ๊ณฑ๊ณผ ๋’ค์ง‘์€ ๋ฐฐ์—ด ๊ณฑ์˜ ์ธ๋ฑ์Šค๊ฐ€ ๊ฐ™์€๋†ˆ๋“ค๋ผ๋ฆฌ
39+
// ๊ณฑํ•ด์„œ ์ตœ์ข… ๊ฒฐ๊ณผ ์ƒ์„ฑ
40+
for i in 0..<nums.count {
41+
result.append(array1Forloop[i] * array2Forloop[i])
42+
}
43+
44+
return result
45+
}
46+
}

0 commit comments

Comments
ย (0)