[Programmers] [Lv.1] [Swift] 두 개 뽑아서 더하기

doyeonjeong_·2022년 8월 13일
0

프로그래머스

목록 보기
27/35
post-thumbnail

Hits

문제

두 개 뽑아서 더하기

풀이

import Foundation

func solution(_ numbers:[Int]) -> [Int] {
    var set = Set<Int>()
    var numbers = numbers
    
    while numbers.count > 0 {
        let last = numbers.popLast()!
        for num in numbers {
            set.insert(num+last)
        }
    }
    
    return Array(set).sorted()
}

🤔 FEEDBACK

  • two pointer 방식을 생각하고 맨 마지막 값을 pop 시켜서 서로 다른 인덱스가 계속 더해지도록 했다.
  • Set을 통해 중복을 제거한채로 Array를 sorted() 하여 반환했다.

다른 풀이

import Foundation

func solution(_ numbers:[Int]) -> [Int] {
    var result = [Int]()

    for i in 0 ..< numbers.count {
        for j in i + 1 ..< numbers.count {
            let num = numbers[i] + numbers[j]
            if !result.contains(num) {
                result.append(num)
            }
        }
    }
    return result.sorted()
}
profile
블로그 이사중 🚚 byukbyak.tistory.com

0개의 댓글