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
'파이썬 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 햄버거 만들기 - Python(파이썬) (0) | 2024.03.23 |
---|---|
[프로그래머스] 푸드 파이트 대회 - Python(파이썬) (0) | 2024.03.23 |
[프로그래머스] 과일 장수 - Python(파이썬) (0) | 2024.03.23 |
[백준] 베스트셀러 - Python(파이썬) (0) | 2024.03.23 |
[백준] 통계학 - Python(파이썬) (0) | 2024.03.23 |