상황파악

백준 1032: 명령 프롬프트 본문

백준

백준 1032: 명령 프롬프트

otch80 2021. 1. 4. 18:57

www.acmicpc.net/problem/1032

 

1032번: 명령 프롬프트

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

www.acmicpc.net

 

입력한 단어들을 순차적으로 비교하여 일치하지 않는 부분을 찾아내는게 핵심이다.

여러 글을 참고했지만 대부분의 방법들이 입력과 동시에 값을 비교하고 있어서 나도 따르기로 했다.

처음엔 제너레이터를 사용해보기도 했지만 아직은 익숙하지 않아서 과감히 노선을 변경하였다.

 

count = int(input())
first = list(str(input()))

for i in range(count-1):
    second = list(str(input()))
    for j in range(len(first)):
        if(first[j] != second[j]):
            first[j] = '?'
            

print (''.join(first))

아마 다른 사람들과 많이 비슷할 것으로 보인다. 

그래도 코드 설명을 하자면 가장 먼저 반복 횟수를 입력받고, 그 다음 입력값을 저장한다.

 

이후 처음 입력받은 값을 고려해 반복횟수를 1회 줄이고 각 문자를 비교하기 위해 배열의 인덱스로 접근해야 하는데, 이를 위해 필요한 부분이 str() 이다.

인덱스로 접근이 용이하게 하기 위해 글자별로 분할하여 배열로 저장한다.

 

이후 동일 인덱스끼리 비교해가며 다른 부분은 ?로 대체한다.

 

마무리로 list형식을 join을 사용하여 str로 변경해준다.

'백준' 카테고리의 다른 글

백준 - 1149 RGB 거리  (0) 2021.01.12
백준 2839번: 설탕 배달  (0) 2021.01.11