두 개 뽑아서 더하기(Lv1. Swift)
Updated:
두 개 뽑아서 더하기(Lv1. Swift)
🔍 문제
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
🔶 제한사항
-
numbers의 길이는 2 이상 100 이하입니다.
-
numbers의 모든 수는 0 이상 100 이하입니다.
🔷 입출력 예
🔷 입축력 예 설명
📌 풀이
배열의 모든 숫자들을 2개씩 뽑아 더한 뒤 result배열에 중복되지 않게 담아주면 된다.
배열의 첫번째 인덱스부터 순서대로 나머지 숫자들과 더해주도록 반복문을 구현하면 된다.
func solution(_ numbers:[Int]) -> [Int] {
var result: [Int] = []
for i in 0..<numbers.count - 1 { // 첫번째 숫자: 배열의 첫번째 index 부터 마지막 index 까지 숫자 반복
for j in (i + 1)..<numbers.count { // 두번째 숫자: i 다음 index 부터 배열의 마지막 index 까지 반복
let number = numbers[i] + numbers[j]
if !result.contains(number) { // 두 숫자를 더한 값의 중복값이 result 배열에 있는지 확인
result.append(number) // 중복값이 없을 경우 result 배열에 추가 해준다
}
}
}
return result.sorted() // 오름차순으로 정렬 후 return
}
print(solution([2,1,3,4,1])) // [2, 3, 4, 5, 6, 7]
Reference
프로그래머스 - https://programmers.co.kr/learn/courses/30/lessons/68935
Leave a comment