프로그래머스_두 개 뽑아서 더하기_easy

hankyulee·2021년 10월 8일
0

Swift coding test 준비

목록 보기
21/57
post-thumbnail

내일 코테라 쉬운 것 위주로 공부했다...

func solution(_ numbers:[Int]) -> [Int] {
    var A = numbers
    var B = numbers
    var set = Set<Int>()
    for (i,n) in A.enumerated() {
        for (j,m) in B.enumerated() where j > i {
            if !set.contains(n + m) {
                
            set.insert(n + m)
            }
        }
    }
    return set.sorted()
}
  • 이중 for문인것이 거슬렸지만 n 자체가 적어서 이용했다.
  • 다른 코드로도 풀어봤다.

     Array(0..<A.count).forEach{ i in
        for (bi,b) in B.enumerated() where (bi > i) {
             if !set.contains(A[i] + b){set.insert(A[i]+b)} 
         }
     }
    
  • 첫 코드가 시간이 꽤 소요되는게 있어서 아래 코드를 만들어봤는데 시간이 단축된것을 보았다.. 근데 줄어들 이유가 없는데,, 하고 다시 돌려보니 첫 코드의 시간이 단축됐다. 즉 test할 때마다 시간이 조금씩 다르게 나오나보다.
  • 다른 분들 코드보니까 다 이중 for 문 썼다. 이를 위해 만든 문제 같다.

0개의 댓글