본문 바로가기
코딩 테스트/코딩 테스트 - 문제

[백준] 개미

by 안스 인민군 2023. 2. 13.
 

3048번: 개미

T초가 지난 후에 개미의 순서를 출력한다. 첫 번째 개미 그룹은 왼쪽에서 오른쪽으로 움직이고, 두 번째 그룹은 반대 방향으로 움직인다.

www.acmicpc.net

아......나는 뭔가 이런거는 잘 못푸는거 같다....

그래도 tmp 대신 아래 풀이와 같이 푸는방법을 알게 되어서 다행이다.

import sys

input = sys.stdin.readline
n1,n2 = map(int,input().split())
A = list(input().rstrip())
B = list(input().rstrip())
time = int(input())
A = A[::-1]

sumAnt = A + B

for _ in range(time):
    # 반복문을 통해 두 개미 그룹을 확인
    for i in range(len(sumAnt) - 1):
        # 두 개미 그룹이 만났다면 위치를 바꾼다.
        if sumAnt[i] in A and sumAnt[i+1] in B:
            sumAnt[i], sumAnt[i+1] = sumAnt[i+1], sumAnt[i]

            # 위치를 바꾼 개미가 선두 개미이면 반복을 멈춘다.
            if sumAnt[i+1] == A[-1]:
                break

print("".join(sumAnt))