์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜

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

๊ธฐ๊ฐ€์ •ํ›ˆ 2023. 6. 3. 19:13

์˜ค๋žœ๋งŒ์— ๋ธ”๋กœ๊ทธ๋ฅผ ์ ์–ด์„œ ์–ด์ƒ‰ํ•˜๋„ค์š”! ์•ž์œผ๋กœ๋Š” ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ ํ‘ผ ๋ฌธ์ œ๋“ค์„ ๋‹ค์‹œ ์ฝ”๋“œ ๋ณต์Šตํ•˜๊ณ  ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์˜ˆ์ „์— ํ’€์—ˆ๋˜ ๋ฌธ์ œ๋“ค์€ ์™„๋ฒฝํ•˜๊ฒŒ ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š์ง€๋งŒ, ๋ธ”๋กœ๊ทธ ๋ง๊ณ  ๋…ธ์…˜์— ๊พธ์ค€ํžˆ ํ‘ผ ๊ณผ์ •์„ ๊ธฐ๋กํ•˜์—ฌ ์ €์˜ ํ’€์ด๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ๋ฅผ ๊พธ์ค€ํžˆ ์ž‘์„ฑํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•  ์˜ˆ์ •์ด๋ฏ€๋กœ ๋‚ด์šฉ์ด ์ด์ƒํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.!!

1. ๋ฌธ์ œ ๋งํฌ 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

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 ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.