https://school.programmers.co.kr/learn/courses/30/lessons/118667?language=swift
1. Swift 풀이
import Foundation
func solution(_ queue1:[Int], _ queue2:[Int]) -> Int {
var sum1 = queue1.reduce(0){ $0 + $1 }
let totalSum = sum1 + queue2.reduce(0){ $0 + $1 }
if totalSum % 2 != 0 {
return -1
}
let queue = queue1 + queue2
var p1 = 0, p2 = queue1.count
var answer = 0
while p1 < p2 && p2 < queue.count {
if sum1 < totalSum/2 {
sum1 += queue[p2]
p2 += 1
}
else if sum1 == totalSum/2 {
return answer
}
else {
sum1 -= queue[p1]
p1 += 1
}
answer += 1
}
return -1
}
2. Python 풀이
def solution(queue1, queue2):
# 총합이 홀수이면 -1을 반환한다.
totalSum = sum(queue1) + sum(queue2)
if totalSum % 2 != 0:
return -1
answer = 0
p1 = 0
p2 = len(queue1)
queue = queue1 + queue2
sum1 = sum(queue1)
while p1 < p2 and p2 < len(queue):
if sum1 < totalSum//2:
sum1 += queue[p2]
p2 += 1
elif sum1 == totalSum//2:
return answer
else:
sum1 -= queue[p1]
p1 += 1
answer += 1
return -1
[소프티어] 8단 변속기 (2) | 2024.01.29 |
---|---|
[소프티어] 금고털이 (0) | 2024.01.29 |
[프로그래머스] 베스트앨범 (1) | 2024.01.24 |
[프로그래머스] 다리를 지나는 트럭 (1) | 2024.01.23 |
[프로그래머스] 쿼드압축 후 개수 세기 (0) | 2024.01.19 |