꾸준히 합시다
백준 파이썬 1032번: 명령 프롬프트 본문
https://www.acmicpc.net/problem/1032
문제 유형: 구현, 문자열
# Solution 1
N = int(input())
first_word = list(input())
first_word_len = len(first_word)
for i in range(N - 1):
other_words = list(input())
for j in range(first_word_len):
if first_word[j] != other_words[j]:
first_word[j] = '?'
print(''.join(first_word))
- 우선 파일 이름의 길이 N을 정수형으로 입력받는다.
- 비교의 기준을 설정하기 위해 첫 번째 파일 이름을 리스트 형태로 받아 따로 저장해둔다. 입력 값이 "config.sys"라면 ['c', 'o', 'n', 'f', 'i', 'g', '.', 's', 'y', 's']로 저장되게 된다.
- len() 함수를 이용해 파일 이름의 길이를 알아낸다. 파일 이름의 길이는 모두 같기 때문에 하나의 입력 값만 보아도 된다.
- 나머지 파일 이름도 리스트로 변환해 입력받고, 첫 번째 리스트와 비교해가며 같은 인덱스의 값이 서로 다르면 첫 번째 리스트의 해당 인덱스의 값을 "?"로 바꿔준다.
- 예를 들어 두 번째 입력 값이 "config.inf"라면 ['c', 'o', 'n', 'f', 'i', 'g', '.', 's', 'y', 's']와 ['c', 'o', 'n', 'f', 'i', 'g', '.', 'i', 'n', 'f'] 두 리스트를 비교하여 인덱스는 같지만 서로 다른 값을 지닌 7, 8, 9번째 인덱스의 값만 "?"로 변환해준다.
'코딩 테스트 문제 풀이' 카테고리의 다른 글
백준 파이썬 11721번: 열 개씩 끊어 출력하기 (0) | 2021.03.16 |
---|---|
백준 파이썬 10798번: 세로읽기 (0) | 2021.03.16 |
백준 파이썬 18258번: 큐 2 (0) | 2021.03.11 |
백준 파이썬 1157번: 단어 공부 (0) | 2021.03.11 |
백준 파이썬 9506번: 약수들의 합 (0) | 2021.03.10 |
Comments