파이썬/코딩테스트
[프로그래머스] 가장 가까운 같은 글자 - Python(파이썬)
대전집주인
2024. 3. 23. 16:41
728x90
SMALL
문제 이해
- 문장을 받아 한글자씩 같은 글자가 있는지 비교를 한다.
- 비교했을 때 같은 글자가 없다면 -1
- 같은 글자가 있다면 거리값이 리스트에 들어간다.
- 같은 글자가 2개 이상 있다면 가까이에 있는 값이 리스트에 들어간다.
- 비교는 현재 글자 인덱스보다 작은것만 비교한다.
제한사항에 문장의 길이는 10,000 으로 제곱이 되어도 시간복잡도상 문제가 없을거 같아 완전탐색으로 풀었다.
def solution(s):
# 첫번째 리스트 값은 무조건 -1이다.
answer = [-1]
for i in range(1, len(s)):
index = []
count = 0
for j in range(0, i):
if s[i] == s[j]:
index.append(i-j)
count += 1
if count == 0:
answer.append(-1)
else:
answer.append(min(index))
return answer
728x90
LIST