practivceAlgorithm/codeforce

[Codefroce][Python] div.3 #731 - C. Pair Programming

findTheValue 2021. 10. 3. 04:26

영어 독해가 매우 힘들었던 문제입니다.

이 문제는 열 추가와 열 조회로 나뉩니다.

지금 조회할 수 없는 열을 조회하면 불가능한 command로 판단하면 됩니다.

앞에서부터 0을 while로 넣어주고 그 후 0이 아닌값의 가능여부를 검사해 넣어주는 전략입니다.

 

import sys
input = sys.stdin.readline

for test in range(int(input())):
    input()
    k, n, m = map(int, input().split())
    a = list(map(int, input().split()))
    b = list(map(int, input().split()))
    answer = []
    idx_a = 0
    idx_b = 0
    while idx_a < n and not a[idx_a]:
        answer.append(0)
        idx_a += 1
        k += 1
    while idx_b < m and not b[idx_b]:
        answer.append(0)
        idx_b += 1
        k += 1
    while idx_a != n or idx_b != m:
        flag = 0
        if idx_a < n:
            if a[idx_a] <= k:
                answer.append(a[idx_a])
                idx_a += 1
                flag = 1
                while idx_a < n and not a[idx_a]:
                    answer.append(0)
                    idx_a += 1
                    k += 1
        if idx_b < m:
            if b[idx_b] <= k:
                answer.append(b[idx_b])
                idx_b += 1
                flag = 1
                while idx_b < m and not b[idx_b]:
                    answer.append(0)
                    idx_b += 1
                    k += 1
        if not flag:
            answer = [-1]
            break

    print(*answer)