반응형
1. 문제
시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다.
여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다.
이때 원하는 파일을 찾으려면 다음과 같이 하면 된다.
dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다.
"dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다.
예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고,
세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다.
이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다.
이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다.
패턴에는 알파벳과 "." 그리고 "?"만 넣을 수 있다. 가능하면 ?을 적게 써야 한다.
그 디렉토리에는 검색 결과에 나온 파일만 있다고 가정하고, 파일 이름의 길이는 모두 같다.
2. 입력
- 첫째 줄에 파일 이름 개수 N (N은 자연수, 최대 50)
- 둘째 줄엔 파일 이름 (파일 이름은 알파벳 소문자와 "." 로만 구성)
3. 출력
- 첫째 줄에 패턴을 출력하면 된다.
4. 예제 입력 & 출력
3
config.sys
config.inf
configures
-----
config????
3
c.user.mike.programs
c.user.nike.programs
c.user.rice.programs
-----
c.user.?i?e.programs
5. 접근 방법
- 첫번째 데이터를 기준으로 문자열을 리스트로 만들기
- 입력된 데이터만큼 반복
- 입력받은 문자열을 반복하며 첫번째 데이터 기준과 비교
- 같지 않으면 기준 데이터의 문자열 index 데이터를 ?로 변환
6. 코드
n = int(input())
root_word = list(input())
for _ in range(n - 1):
words = input()
for j in range(len(words)):
if root_word[j] != words[j]:
root_word[j] = "?"
print("".join(root_word))
Reference
반응형
'Posts > Algorithm' 카테고리의 다른 글
[boj] 더하기 사이클 - 1110 (python) (0) | 2021.12.12 |
---|---|
[boj] 숫자 카드 2 - 10816 (파이썬) (0) | 2021.12.12 |
[누구나 자료구조 알고리즘] python 퀵정렬 (0) | 2021.12.12 |
[boj] 회의실 배정 - 1931 (파이썬) (0) | 2021.12.11 |
[누구나 자료구조 알고리즘] Python 삽입정렬 (0) | 2021.12.11 |