๋ฌธ์ ์ค๋ช
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค. numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์กฐ๊ฑด
- numbers์ ๊ธธ์ด๋ 2 ์ด์ 100 ์ดํ์
๋๋ค.
- numbers์ ๋ชจ๋ ์๋ 0 ์ด์ 100 ์ดํ์ ๋๋ค.
์ ์ถ๋ ฅ ์
numbers | result |
[2,1,3,4,1] | [2,3,4,5,6,7] |
[5,0,2,7] | [2,5,7,9,12] |
๋ด ๋ฌธ์ ํ์ด
import Foundation
func solution(_ numbers:[Int]) -> [Int] {
var result = [Int]()
for i in 0..<numbers.count-1 {
for j in i+1..<numbers.count {
if !result.contains(numbers[i] + numbers[j]) {
result.append(numbers[i] + numbers[j])
}
}
}
return result.sorted()
}
- 2์ค for๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ ์๋ฅผ ๋ํ๋ ๋ฐ๋ณต๋ฌธ์ ์์ฑํ๊ณ , result ๋ฐฐ์ด์ ๊ฐ์ ์๊ฐ ์๋์ง ํ์ธํ๊ณ ์๋ค๋ฉด append ํด์ฃผ์์.
- ๋ฆฌํด๋ฌธ์์ ์ ๋ ฌํ์ฌ ๋ฐํ.
์ธ์์ ์ธ ํ์ด
import Foundation
func solution(_ numbers:[Int]) -> [Int] {
var arr:[Int] = []
for i in 0..<numbers.count {
for j in i+1..<numbers.count {
arr.append(numbers[i]+numbers[j])
}
}
return Set(arr).sorted()
}
- ์ค๋ณต ๊ฒ์ฌ๋ฅผ ํ์ง ์๊ณ ๋ฐฐ์ด์ ๋ํ ์๋ค์ ์ ์ฅ, ๋ฆฌํด๋ฌธ์์ set๋ฅผ ์ด์ฉํ์ฌ ์ค๋ณต์ ์ ๊ฑฐํ๊ณ sorted ํด์ฃผ์๋ค.
๐ก ํผ๋๋ฐฑ
- Set ์ด์ฉํ๋ ๊ตณ์ด ์ค๋ณต ์ ๊ฑฐ๋ฅผ ํ ํ์๊ฐ ์๋ค,,! ์์ผ๋ก Set๋ฅผ ์ ํ์ฉํด๋ด์ผ๊ฒ ๋ค.
๐ [ ์ถ๊ฐ ] 1์ฃผ์ผ ํ ๋ค์ ํ์ด๋ณด๊ธฐ
func solution2(_ numbers:[Int]) -> [Int] {
var res = Set<Int>()
for i in 0..<numbers.count-1 {
for j in i+1..<numbers.count { res.insert(numbers[i]+numbers[j]) }
}
return res.sorted()
}
- Set ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์ค๋ณต ๊ฒ์ฌํด์ฃผ์๊ณ , ๋๋ถ์ ์ฒซ ํ์ด๋ณด๋ค ํจ์ฌ ๊ฐ๊ฒฐํด์ก๋ค.
๋ฌธ์
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์ฝ์์ ๊ฐ์์ ๋ง์ Programmers(Lv.1) (0) | 2021.06.18 |
---|---|
[Swift Algorithm] ์์ฐ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] 2016๋ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] ๊ฐ์ด๋ฐ ๊ธ์ ๊ฐ์ ธ์ค๊ธฐ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด Programmers(Lv.1) (0) | 2021.06.17 |
๋๊ธ