내 풀이
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 배열을 오름차순으로 정렬하여 반환
' 𝗔𝗣𝗣𝗟𝗘 > ALGORITHM' 카테고리의 다른 글
[내일배움캠프] 데일리 루틴(iOS_3회차) - 푸드 파이트 대회 (0) | 2024.03.14 |
---|---|
[내일배움캠프] 데일리 루틴(iOS_3회차) - 가장 가까운 같은 글자 (0) | 2024.03.13 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - K번째수 (2) | 2024.03.11 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 문자열 내 마음대로 정렬하기 (0) | 2024.03.08 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 숫자 문자열과 영단어 (0) | 2024.03.07 |