https://programmers.co.kr/learn/courses/30/lessons/68644
소스 코드
import Foundation
func solution(_ numbers:[Int]) -> [Int] {
// var arr = [Int](repeating: 0, count: 102)
var sum : [Int] = []
print(numbers.count)
for i in 0..<numbers.count{
for j in 0..<numbers.count{
if i == j{
continue
}
sum.append(numbers[i]+numbers[j])
}
}
sum.sort()
print(sum)
for i in (1...sum.count-1).reversed(){
if sum[i]==sum[i-1]{
sum.remove(at: i)
}
}
return sum
}
설명
사실.. 설명이라고 할 것도 없는 문제이다.. 블로그에 올릴까도 많이 고민했지만 첫 알고리즘 문제라는 것에 의의를 두고 업로드하려고 한다..ㅎ
덧셈 결과를 전부 다 append하는 것이 아닌
if !result.contains(num) { // result배열에 num이 없다면 result배열에 추가
result.append(num)
}
이렇게 contains()사용하면 더욱 쉽고 간단하게 푸는 방법도 있는 것을 알게 되어 다음에 문제를 푼다면 꼭 적용해봐야겠다.
'알고리즘' 카테고리의 다른 글
[백준] 7576번: 토마토 (0) | 2022.02.02 |
---|---|
[백준] 2178번: 미로 탐색 (0) | 2022.01.31 |
[백준] 1260번: DFS와 BFS (0) | 2022.01.30 |
[백준] 1012번:유기농 배추 (0) | 2022.01.30 |
[백준] 2606번: 바이러스 (0) | 2022.01.27 |