새소식

인기 검색어

프로그래머스/Lv.2

[Swift] 두 큐 합 같게 만들기

  • -
import Foundation

func solution(_ queue1:[Int], _ queue2:[Int]) -> Int {
    let array = queue1 + queue2
    
    var left = 0
    var right = queue1.count
    var answer = 0
    
    var sum1 = queue1.reduce(0, +)
    var sum2 = queue2.reduce(0, +)
    let goal = (sum1 + sum2) / 2
    
    if (sum1 + sum2) % 2 != 0 { return -1 }
    
    while right < array.count && left <= right {
        if sum1 < goal {
            sum1 += array[right]
            right += 1
        } else if goal < sum1 {
            sum1 -= array[left]
            left += 1
        } else {
            break
        }
        
        answer += 1
    }
    
    return sum1 == goal ? answer : -1
}

 

'프로그래머스 > Lv.2' 카테고리의 다른 글

[Swift] 전력망 둘로 나누기  (0) 2023.06.17
[Swift] 택배상자  (0) 2023.06.17
[Swift] 메뉴 리뉴얼  (0) 2023.06.17
[Swift] [3차] 방금그곡  (0) 2023.05.13
[Swift] 삼각 달팽이  (0) 2023.04.30
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.