๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

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

by hyebin (Helia) 2023. 3. 2.
๋ฐ˜์‘ํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1 ๋ชจ์Œ

๋‘ ๊ฐœ ๋ฝ‘์•„์„œ ๋”ํ•˜๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ ๋ฐฐ์—ด 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]

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • 2 = 1 + 1์ž…๋‹ˆ๋‹ค. (1์ด numbers์— ๋‘ ๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค.)
  • 3 = 2 + 1์ž…๋‹ˆ๋‹ค.
  • 4 = 1 + 3์ž…๋‹ˆ๋‹ค.
  • 5 = 1 + 4 = 2 + 3์ž…๋‹ˆ๋‹ค.
  • 6 = 2 + 4์ž…๋‹ˆ๋‹ค.
  • 7 = 3 + 4์ž…๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ [2,3,4,5,6,7]์„ return ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • 2 = 0 + 2์ž…๋‹ˆ๋‹ค.
  • 5 = 5 + 0์ž…๋‹ˆ๋‹ค.
  • 7 = 0 + 7 = 5 + 2์ž…๋‹ˆ๋‹ค.
  • 9 = 2 + 7์ž…๋‹ˆ๋‹ค.
  • 12 = 5 + 7์ž…๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ [2,5,7,9,12]๋ฅผ return ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ numbers:[Int]) -> [Int] {
    var result = Set<Int>()
    
    for i in 0..<numbers.count-1{
        for j in i+1..<numbers.count{
            result.insert(numbers[i]+numbers[j])
        }
    }
    return result.sorted()
}
Intํ˜• ์ง‘ํ•ฉ result๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
result์— ๋ฐฐ์—ด numbers์˜ ์š”์†Œ 2๊ฐœ๋ฅผ ๋”ํ•œ ๊ฐ’์„ insert ํ•œ๋‹ค.
result๋ฅผ ์ •๋ ฌํ•œ ํ›„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•