본문 바로가기

개발/알고리즘

[프로그래머스] 두 개 뽑아서 더하기

반응형
 

코딩테스트 연습 - 두 개 뽑아서 더하기

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한

programmers.co.kr

입력 & 출력

두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아
return 하도록 solution 함수를 완성해주세요.

풀이

배열에 있는 모든 수를 더하되, 중복된 수는 빼주는 방법을 사용하면 된다
중복된 수를 빼는 것은 if 문을 사용하거나, Set을 사용해서 빼주자

 

Swift 전체 코드

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

 

반응형