💻 문제 풀이 접근 방법
1) A와 B의 공유 글자를 A를 기준으로 찾고 글자와, A의 idx 저장
(공유 글자가 여럿인 경우 A에서 제일 먼저 등장하는 글자가 공유 글자이기 때문)
2) B에서의 공유 글자 위치를 찾고
3) 각각의 idx 값을 이용해 출력
A, B = input().split()
# 공유글자 찾기
for i in range(len(A)):
if A[i] in B:
share = A[i]
A_idx = i
break
# B에서의 공유 글자 위치 찾기
for i in range(len(B)):
if B[i] == share:
B_idx = i
break
result = ['.'] * len(A)
for i in range(len(B)):
result[A_idx] = B[i]
if i == B_idx:
print(A)
else:
print("".join(map(str, result)))
다른 분들의 코드를 보니 toggle이나 flag를 사용해 푼 것을 볼 수 있었습니다.
flag 방법도 괜찮은 것 같아 다음에도 flag를 이용해 풀어봐야겠다.
'알고리즘 문제 풀기 > 백준(Baekjoon)' 카테고리의 다른 글
[백준 알고리즘] 8979. 올림픽 _ 파이썬 (0) | 2021.02.15 |
---|---|
[백준 알고리즘] 2847. 게임을 만든 동준이 _ 파이썬 (1) | 2021.02.13 |
[백준 알고리즘] 2953. 나는 요리사다 _ 파이썬 (0) | 2021.02.13 |
[백준 알고리즘] 2851. 슈퍼마리오 _ 파이썬 (2) | 2021.02.13 |
[백준 알고리즘] 11659. 구간 합 구하기 4 _ 파이썬 (1) | 2021.02.13 |