새소식

⌨️ Algorithms/백준

[Python] 백준 11383번_뚊

2023. 6. 1. 18:53

  • -

https://www.acmicpc.net/problem/11383

 

11383번: 뚊

입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄의 각 줄에는 M개의 문자가 주어진다. 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어진다. 모든 문자는 영문 알파벳 대문자 혹

www.acmicpc.net

 

 

 

 

  • N× M 크기의 이미지와 N ×2 M 크기의 이미지가 주어질 때 첫 번째 이미지를 가로로 두 배로 늘이면 두 번째 이미지가 되는지 검사하기
  • 입력
    • 입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어짐
    • 다음 N개의 줄의 각 줄에는 M개의 문자가 주어짐
    • 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어짐
    • 모든 문자는 영문 알파벳 대문자 혹은 소문자
  • 출력
    • 첫 번째로 주어진 이미지를 가로로 두 배로 늘렸을 때 두 번째 이미지가 된다면 "Eyfa"을 출력하고, 되지 않는다면 "Not Eyfa"을 출력
  • 시간 제한: 1초
  • 메모리 제한: 512 MB

 

"""
입출력 예시)

(예제 입력 1) 
1 5
ABCDE
AABBCCDDEE
            -> Eyfa

(예제 입력 2) 
1 5
ABCDE
AABBCCDDEF
            -> Not Eyfa

(예제 입력 3) 
2 2
AB
CD
AABB
CCDD
    -> Eyfa
"""

 

 

## 의사코드 ##

# 원본 문자열의 각 문자*2 한 것과 일치하면 Eyfa

 

 

 

 

n, m = map(int, input().split())
original = [] # 원본 문자열
two_m = [] # 2배 문자열

for i in range(1, (n*2)+1):
    # n까지는 원본 문자열에 저장
    if i <= n:
        original.append(input())
    # n 이후에는 2배 문자열에 저장
    else:
        two_m.append(input())

# 원본 문자열의 각 문자를 2배로 늘리기    
for j in range(n):
    new = ''
    for s in original[j]:
        new += s*2
    original[j] = new

# 모든 원본 문자열이 모든 2배 문자열과 일치하면 Eyfa
if original == two_m:
    print('Eyfa')
else:
    print('Not Eyfa')
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!