๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿงฉ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ

[Swift] [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‘ ๊ฐœ ๋ฝ‘์•„์„œ ๋”ํ•˜๊ธฐ ํ’€์ด

by ye-ha 2022. 1. 7.

(์‚ฌ์ง„: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋งˆ์Šค์ฝ”ํŠธ ๋จธ์“ฑ์ด)

- ๋ชจ๋“  ์›์†Œ ๊ฐ„์˜ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์ค‘ for๋ฌธ์„ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. numbers์˜ ๋ชจ๋“  ์ˆ˜๊ฐ€ 100 ์ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์— ๋ฌธ์ œ ์—†๋‹ค! 

- ํ•ฉ์ด ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ set์„ ์‚ฌ์šฉํ•ด์ฃผ์—ˆ๋‹ค. 

- ๋ฐฐ์—ด์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ด์„œ sorted๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์—ˆ๋‹ค. set์„ sortedํ•œ ํ›„ array๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ฝ”๋“œ๋“ค๋„ ๋ดค๋Š”๋ฐ, set์ด๋‚˜ dictionary๋‚˜ sorted๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋‘ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜๋˜์–ด ๋ฐ˜ํ™˜๋œ๋‹ค. 

- for in์„ ์‚ฌ์šฉํ•  ๋•Œ, ...numbers.count - 1 ์ฒ˜๋Ÿผ ๊ตฌ์ฒด์ ์ธ ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•ด์ฃผ์—ˆ์—ˆ๋‹ค. ..<numbers.count ๋กœ ํ’€๊ฒŒ ๋˜๋ฉด ์ธ๋ฑ์Šค ๋ฒ”์œ„๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๊ณ , ๋น„๊ต์  ๊น”๋”ํ•˜๋‹ค. 

func solution(_ numbers:[Int]) -> [Int] {
    var answer = Set<Int>()
    for index in 0..<numbers.count {
        for insideIndex in index + 1..<numbers.count{
            answer.insert(numbers[index] + numbers[insideIndex])
        }
    }
    return answer.sorted()
}

์ถœ์ฒ˜: https://programmers.co.kr/learn/courses/30/lessons/68644?language=swift

๋Œ“๊ธ€