아요 개발 일기

[프로그래머스] Level 1. 두개 뽑아서 더하기 본문

Algorithms/문제 풀이

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

소진이 2023. 1. 17. 10:29

문제

 

 

풀이

import Foundation

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

for-in 문을 사용해서 풀어보았습니다!

numbers 배열의 i 값일 때, 나머지 numbers 배열의 i와 i + 1값부터 차례대로 더해서 num 상수에 넣어줍니다.

같은 숫자는 한 번만 출력해주면되므로, 배열의 contains 메서드를 사용하여 num 값이 result 배열에 있는지 if문으로 확인해줍니다.

마지막으로 숫자를 오름차순으로 정렬해줍니다.

 

contains : 해당 값이 배열에 존재하는지 Bool로 리턴해주는 메서드

 

정확성 테스트

이번 문제는 다소 쉬워서 글이 짧네요!! :)