두 개 뽑아서 더하기(Lv1. Swift)

Updated:

두 개 뽑아서 더하기(Lv1. Swift)

🔍 문제

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

🔶 제한사항

  • numbers의 길이는 2 이상 100 이하입니다.

  • numbers의 모든 수는 0 이상 100 이하입니다.

🔷 입출력 예

image

🔷 입축력 예 설명

image


📌 풀이

배열의 모든 숫자들을 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

Categories:

Updated:

Leave a comment