소스 코드

# 개미의 수
N1, N2 = map(int,input().split())

# 첫번째 그룹, 두번째 그룹
N1_lst = list(str(input()))
N2_lst = list(str(input()))

# 이동 시간
T = int(input())

# 방향 통일
N1_lst.reverse()

# N1 N2 통합
N_sum = N1_lst + N2_lst

for t in range(T):

    # swap해야하는 idx 값 저장
    temp = []

    for q in range(1,len(N_sum)):

        # 왼쪽 방향으로 이동하는 경우만 확인하면 됨
        # <- -> 의 경우는 방향이 서로 달라도 swap할 필요 없음
        if N_sum[q] in N2_lst:
            if N_sum[q-1] in N1_lst:
                temp.append(q)

    # swap 해주기
    for w in temp:
        N_sum[w], N_sum[w-1] = N_sum[w-1], N_sum[w]

# 결과
res = ''

for r in N_sum:
    res += r

print(res)

 


해결 방법

1. 왼쪽 방향으로 이동하는(두 번째 그룹)의 개미만 확인하면 됨

ex) 이동 방향이 -> <- 가 존재하는 경우에는 서로 위치를 바꿔야 하지만

<- ->인 경우에는 위치를 바꾸지 않아도 되기 때문


느낀 점

 

 

ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.

 

오류적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.

 

혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.