반응형
https://www.acmicpc.net/problem/2804
내 답안
A, B = input().split()
N = len(A)
M = len(B)
matrix = [['.'] * N for _ in range(M)]
for i in range(N):
if A[i] in B:
row = i
col = B.index(A[i])
break
for i in range(M):
matrix[i][row] = B[i]
for i in range(N):
matrix[col][i] = A[i]
for i in matrix:
print(''.join(i))
맨 처음 이중리스트에 입력받은 글자 수 대로 초기화를 해주었다.
matrix = [['.'] * N for _ in range(M)]
그 다음
문자열 A에서 먼저 등장한 알파벳 중 문자열 B에 있는 것을 고르면 연두색 형광펜 쳐진 것처럼 겹치게 된다.
그리고 이런 식으로 행(row)과 열(col)을 저장해 준다.
for i in range(N):
if A[i] in B:
row = i
col = B.index(A[i])
break
이후 노란색 형광색 친 부분처럼 리스트를 새로 고침 해주었다.
for i in range(M):
matrix[i][row] = B[i] # row를 모두 B 로 바꾸기
for i in range(N):
matrix[col][i] = A[i] # col을 모두 A 로 바꾸기
마지막으로 출력은 join을 이용하여 코드를 짜봤다.
반응형
'BOJ > Python' 카테고리의 다른 글
백준 2748번 피보나치 수 2 파이썬 (0) | 2022.03.11 |
---|---|
백준 1977번 완전제곱수 파이썬 (0) | 2022.03.10 |
백준 4153번 직각삼각형 파이썬 (0) | 2022.03.09 |
백준 13417번 카드문자열 파이썬 (0) | 2022.03.09 |
백준 1026번 보물 파이썬 (0) | 2022.03.09 |