Python/Baekjoon

백준 1032번 문제 풀이 - 공부하는 도비

DOVISH WISDOM 2021. 10. 22. 17:02  
728x90
반응형

 

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

 

1032번: 명령 프롬프트

첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은

www.acmicpc.net

 

처음 이 문제를 봤을 때, 입력받은 정수 만큼 문자열을 저장한 후, 각 자리마다 모두 비교할 생각이었다. 

하지만, 제일 처음 입력 받은 문자열과 그 다음 입력 받은 문자열을 비교 한 후, 예제 출력 처럼 미리 바꿔두면, 한번에 모든 문자열을 각 자리마다 비교하는 수고가 사라진다.

 

코드는 간단하다.

 

1. a 에 입력한 문자열을 리스트 형으로 바꾸어 저장한다.

2. 입력받은 정수(count)-1 만큼 새로운 문자열을 입력 받는다.

3. a 를 기준으로 새로운 문자열을 비교해나간다.

 

 

count = int(input())                # 정수 입력(count)

a = list(input())                   # 처음 입력하는 문자열(리스트)
a_len = len(a)                      # a 리스트의 길이

for i in range(0, count-1):         # 이미 한 차례 입력받았기 때문에, count-1 만큼 새로 입력
    b = list(input())
    for j in range(0, a_len):       
        if a[j] != b[j]:            
            a[j] = '?'

print("".join(a))

 

반응형