[python_파이썬_pass]프로그래머스_LV1_가장 가까운 같은 글자_풀이
2024. 5. 23. 12:02ㆍ코드리뷰
728x90
반응형
공부하는허딩크 : https://www.youtube.com/live/Io7CilXhjrk?feature=shared
조금 고민을 하다가 일단 포기하고 다른 문제를 풀다가 다시 왔다. (첫번째 시도는 이력X)
<두번째 시도 : 통과>
딕셔너리를 활용해서 각 문자를 key값으로 두고, value를 리스트로 만들어서 첫번째 값은 인덱스를 준다.
그리고 dict에 신규로 추가되는 문자면 answer에 -1을 추가해주고 있는 문자면 현재 index에서 dict에서 key값으로 문자를 찾고 해당되는 value의 리스트에 마지막 값과의 차액을 answer에 추가해준다.
그리고 해당되는 index를 dict에 추가해서 마지막 문자의 인덱스가 계속 찾을 수 있게 한다.
#2번째 시도하는 거지만 일단 맞음
def solution(s):
answer = []
dict_temp = {}
for index, i in enumerate(s):
if i not in dict_temp:
dict_temp[i] = [index]
answer.append(-1)
else:
answer.append(index-dict_temp[i][-1])
dict_temp[i].append(index)
return answer
728x90
반응형
'코드리뷰' 카테고리의 다른 글
★[python_파이썬_2021 카카오 채용연계형 인턴쉽]프로그래머스_LV1_숫자 문자열과 영단어_풀이 (0) | 2024.05.28 |
---|---|
★[python_파이썬_2018 KAKAO BLIND RECRUITMENT]프로그래머스_LV1_[1차] 다트 게임_풀이 (0) | 2024.05.25 |
★[python_파이썬_set과 집합]프로그래머스_LV0_겹치는 선분의 길이_풀이 (0) | 2024.05.22 |
★[python_파이썬_복습 또 복습]백준_13909번_창문 닫기_풀이 (0) | 2024.05.21 |
★[python_파이썬_소수의 시간고려]백준_17103번_골드바흐 파티션_풀이 (0) | 2024.05.21 |