728x90
난이도 : Lv. 1
풀이일 : 2506043
https://school.programmers.co.kr/learn/courses/30/lessons/142086
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
아이디어
- 딕셔너리에 등장한 글자들의 인덱스를 저장하자
- 현재 글자가 딕셔너리에 있다면 인덱스의 차를, 없다면 -1을 answer 배열에 추가하자
풀이 코드
def solution(s):
answer = []
alphabet = {} # 글자 인덱스를 저장할 딕셔너리
for i in range(len(s)):
char = s[i]
# 현재 인덱스 - 이전 등장 인덱스
# 처음 등장한 글자라면 -1
d = i - alphabet[char] if char in alphabet else -1
answer.append(d)
alphabet[char] = i # 딕셔너리에 인덱스 추가
return answer
실행 결과
느낀점
- 스터디에서 문제를 정해 푸니까 기초만 풀게 되는데, 요즘엔 딕셔너리 사용해서 많이 푸는 것 같다.
- 다른 언어로도 기초 문제들 풀어야지
'알고리즘 > Lv. 1' 카테고리의 다른 글
프로그래머스 82612 부족한 금액 계산하기 자바 풀이 (1) | 2025.06.11 |
---|---|
프로그래머스 155652 둘만의 암호 파이썬 풀이 (0) | 2025.06.10 |
프로그래머스 81301 숫자 문자열과 영단어 파이썬 풀이 (0) | 2025.05.28 |
프로그래머스 131128 숫자 짝꿍 파이썬 풀이 (1) | 2025.05.27 |
프로그래머스 42576 완주하지 못한 선수 파이썬 풀이 (0) | 2025.05.24 |