[ํ๋ก๊ทธ๋๋จธ์ค] ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ
์ค๋๋ง์ ๋ธ๋ก๊ทธ๋ฅผ ์ ์ด์ ์ด์ํ๋ค์! ์์ผ๋ก๋ ์ฝ๋ฉํ ์คํธ๋ฅผ ์ค๋นํ๋ฉด์ ํผ ๋ฌธ์ ๋ค์ ๋ค์ ์ฝ๋ ๋ณต์ตํ๊ณ ์ ๋ฆฌํ๊ธฐ ์ํด ๋ธ๋ก๊ทธ์ ์์ฑํ ์์ ์ ๋๋ค. ์์ ์ ํ์๋ ๋ฌธ์ ๋ค์ ์๋ฒฝํ๊ฒ ๊ธฐ์ต์ด ๋์ง ์์ง๋ง, ๋ธ๋ก๊ทธ ๋ง๊ณ ๋ ธ์ ์ ๊พธ์คํ ํผ ๊ณผ์ ์ ๊ธฐ๋กํ์ฌ ์ ์ ํ์ด๋ฅผ ์ค๋ช ํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ธ๋ก๊ทธ๋ฅผ ๊พธ์คํ ์์ฑํ๋ ์ต๊ด์ ๋ค์ด๊ธฐ ์ํด ๋ ธ๋ ฅํ ์์ ์ด๋ฏ๋ก ๋ด์ฉ์ด ์ด์ํ ๋ถ๋ถ์ด ์๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.!!
1. ๋ฌธ์ ๋งํฌ
https://school.programmers.co.kr/learn/courses/30/lessons/68644
2. ์ฝ๋
func solution(_ numbers:[Int]) -> [Int] {
var tempSet: Set<Int> = []
for i in 0..<numbers.count{
for j in i+1..<numbers.count{
tempSet.insert(numbers[i] + numbers[j])
}
}
let result : [Int] = tempSet.sorted()
return result
}
์ด ๋ฌธ์ ๋ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์ซ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ๋ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ ๋ฐํ์ ํด์ฃผ๋ฉด ๋๋ ๋ฌธ์ ์์ต๋๋ค.
3. ์ฝ๋ ์ค๋ช
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํด tempSet์ ์ฌ์ฉํ์ต๋๋ค.
์ฒซ ๋ฒ์งธ for in ๋ฌธ์ numbers ๋ฐฐ์ด์ ๋ชจ๋ ์ซ์๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
๋ ๋ฒ์งธ for in ๋ฌธ์ ์ฒซ ๋ฒ์งธ ์ซ์๋ณด๋ค ํ ์นธ ๋ค์์๋ถํฐ ๋๊น์ง์ ์ซ์์ ๋ํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ tempSet์ ์ค๋ณต์ ํ์ฉํ์ง ์๊ณ ๊ฐ์ ์ ์ฅํฉ๋๋ค.
tempSet์ sorted()๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฌ๋ ๋ฐฐ์ด๋ก ๋ณํํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ result์ ์ ์ฅํฉ๋๋ค.
์ดํ result ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.