문제

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXTC3GH6D-EDFASe&categoryId=AXTC3GH6D-EDFASe&categoryType=CODE

풀이

  • 현재 풀이에 실패한 상태다. 나중에 여유가 생기면 다시 도전해보자.

초기 접근

T = int(input())
for test_case in range(1, T+1):
    N, Q = map(int, input().split())
    ball = {i:0 for i in range(1, N+1)}
    ball[1], ball[2] = 2, 1

    for q in range(Q):
        s, d = map(int, input().split())
        ball[s], ball[d] = ball[d], ball[s] #swap
        
        if ball[s] == 2:
            if s >= 2: ball[s-1] = 1
            if s < N: ball[s+1] = 1
        if ball[d] == 2:
            if d >= 2: ball[d-1] = 1
            if d < N: ball[d+1] = 1
        print(ball)
    print('#'+str(test_case), sum(v for k,v in ball.items())-1)

틀린 코드다.

댓글남기기