문자열 배열이 n 개 주어질 때,
모배열 안에 요소들 중에 가장 긴 공통 접두사 문자열을 찾는 함수를 작성하자.
공통 접두사가 없으면 빈 문자열을 반환하자.
입력
4
technique
technician
technology
technical
결과
techn
입력
3
abdaewffg
abddesffg
abddhsffg
결과
abd
입력
3
dog
racecar
car
결과
""
N개 안에 모두 공통된 문자열이 포함되어야하므로, 한개만 기준으로 나머지 N-1개를 탐색하면 된다.
word[0]를 가지고 문자열 슬라이스로 하나씩 잘라서 word[1]번째부터 비교하자
n = int(input())
word = []
for i in range(n) :
word.append(input())
def solution(n, word) :
result = ""
for i in range(len(word[0])) : #공통이므로 첫번째 문자열이 기준이 되도 된다.
target = word[0][:i]
for j in range(1, n) :
if target != word[j][:i] :
return result #다른 경우에는 이전 타겟 결과인 resut 저장
result = target #같은 경우 리절트에 저장
return result
print(solution(n, word))
'코테풀이 > 문자열' 카테고리의 다른 글
[백준 | 실버3] 17413: 단어뒤짚기(문자열) (0) | 2022.08.30 |
---|---|
[백준 | 실버2] 14426번: 접두사 찾기(문자열, 브루트포스) (0) | 2022.08.25 |
[백준 | 실버1] 나는 친구가 적다(문자열) (0) | 2022.08.20 |
[백준 | 실버4] 2870 : 수학숙제 (0) | 2022.08.10 |
[프로그래머스 | 2단계] 가장 큰 수(문자열 정렬) (0) | 2022.04.12 |
[파이썬] 공통 접두사를 찾아라(문자열, 접두사)