적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Algorithm/Programmers

[Swift 알고리즘] Programmers 두 개 뽑아서 더하기

hongssup_ 2022. 2. 2. 01:07
반응형

Level 1 월간 코드 챌린지 시즌1

두 개 뽑아서 더하기

문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
제한사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.

 

입출력 예시

print(solution([2,1,3,4,1])) //[2,3,4,5,6,7]
print(solution([5,0,2,7])) //[2,5,7,9,12]

 

내 답안

import Foundation

func solution(_ numbers:[Int]) -> [Int] {
    var result = [Int]()
    for i in 0..<numbers.count-1 {
        for j in (i+1)..<numbers.count {
            result.append(numbers[i] + numbers[j])
        }
    }
    return Set(result).sorted()
}

(0..<numbers.count-1 에서 -1 안하고 그냥 0..<numbers.count 해줘도 답은 그대로 나온다.)

728x90
반응형