알고리즘


N x M 크기의 '이미지'와 N x 2M 크기의 '이미지'가 주어지는 거라서 행렬로 생각하는 게 더 수월하다.

처음에 헷갈렸던 점은 일단 큰 for문 안에서 비교를 해야 하는데 입력이 NxM크기의 이미지가 먼저 들어온 다는 거다.

그러면

for _ in range(n):
        img1 = input()
        img2 = input()

 

이런식으로도 받을 수 없기 때문에..(리스트인 경우도 마찬가지)

n,m = map(int,input().split())
img1 = [input() for _ in range(n)]
img2 = [input() for _ in range(n)]

 

이렇게 한 줄 for문으로 입력을 받아주었다.

 

또한, img2(Nx2M 그림)와 img1을 늘린 ans를 한 줄씩 비교해야 하기 때문에

 

img2의 행 마다 비교를 해주는 반복문을 구현하였다.

한 줄이라도 다르면 다른 그림이므로, flag를 통해 검사해주었다.

 

전체 코드


n,m = map(int,input().split())
img1 = [input() for _ in range(n)]
img2 = [input() for _ in range(n)]
flag = True

for i in range(n):
    ans = []
    for j in range(len(img1[i])): 
        for _ in range(2):
            ans.append(img1[i][j])
    s = ''.join(ans)
    if s != img2[i] : flag = False

print('Eyfa') if flag else print('Not Eyfa')

 

 

sebinChu