소스 코드
# 개미의 수
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. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제 풀이.백준' 카테고리의 다른 글
[BOJ/백준 코딩] 이동하기 - PYTHON #11048 (0) | 2021.02.14 |
---|---|
[BOJ/백준 코딩] 상근이의 여행 - PYTHON #9372 (0) | 2021.02.13 |
[BOJ/백준 코딩] 퇴사 - PYTHON #14501 (0) | 2021.02.10 |
[BOJ/백준 코딩] 경사로 - PYTHON #14890 (0) | 2021.02.05 |
[BOJ/백준 코딩] 물통 - PYTHON #2251 (0) | 2021.02.04 |