본문 바로가기

 𝗔𝗣𝗣𝗟𝗘/ALGORITHM

[내일배움캠프] 데일리 루틴(iOS_3회차) - 두 개 뽑아서 더하기

 

 

 

이미지를 클릭하면 코딩테스트 페이지로 이동합니다

 

 

내 풀이

import Foundation

func solution(_ numbers: [Int]) -> [Int] {
    var answer: [Int] = []
    let sortedNumbers = numbers.sorted()

    for i in 0..<sortedNumbers.count {
        for j in i+1..<sortedNumbers.count {
            let sum = sortedNumbers[i] + sortedNumbers[j]
            if !answer.contains(sum) {
                answer.append(sum)
            }
        }
    }

    return answer.sorted()
}

 

 

- answer 배열을 초기화
   → answer 배열은 모든 서로 다른 숫자 쌍의 합을 저장

- numbers를 오름차순으로 정렬

- 첫 번째 반복문에서는 배열 sortedNumbers의 모든 요소 반복

- 두 번째 반복문에서는 현재 요소 이후의 모든 요소와의 합 계산

- 합을 구한 후, 그 결과가 이미 answer 배열에 있는지 확인

- answer 배열에 없는 경우에만 합을 추가,

   → 중복된 합 방지

- 모든 합을 구한 후 answer 배열을 오름차순으로 정렬하여 반환

Recent Posts
Visits
Today
Yesterday
Archives
Calendar
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31