Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 프로그래머스 파이썬
- 편스토랑
- 캐치카페
- 우분투
- 금융문자분석경진대회
- dacon
- Kaggle
- 맥북
- PYTHON
- 백준
- programmers
- Git
- ubuntu
- AI 경진대회
- 프로그래머스
- 자연어처리
- leetcode
- github
- 파이썬
- 데이콘
- Docker
- ChatGPT
- 편스토랑 우승상품
- Real or Not? NLP with Disaster Tweets
- hackerrank
- 코로나19
- Baekjoon
- SW Expert Academy
- gs25
- 더현대서울 맛집
Archives
- Today
- Total
솜씨좋은장씨
[Programmers] 가장 가까운 같은 글자 (Python) 본문
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 가장 가까운 글자입니다.
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
👨🏻💻 문제 풀이
문자열 속 각 문자가 이전에 있던 자신과 같은 문자와 얼마나 가까이있는지를 구하는 문제입니다.
각 문자마다 가장 마지막으로 등장한 위치를 dictionary 를 하나 만들어서 거기에 저장해두고
answer = []
word_dict = {}
for idx, word in enumerate(list(s)):
if word not in word_dict:
answer.append(-1)
word_dict[word] = idx
else:
answer.append(idx - word_dict[word])
word_dict[word] = idx
다시 등장할때 마다 현재 위치와 저장해둔 위치로 얼마나 가까운지 계산하고
새로운 위치로 값을 업데이트 해주었습니다.
전체 코드는 아래를 참고해주세요.
👨🏻💻 코드 ( Solution )
def solution(s):
answer = []
word_dict = {}
for idx, word in enumerate(list(s)):
if word not in word_dict:
answer.append(-1)
word_dict[word] = idx
else:
answer.append(idx - word_dict[word])
word_dict[word] = idx
return answer

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07
1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.
github.com
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 25801번 : Odd/Even Strings (Python) (0) | 2022.12.13 |
---|---|
[BaekJoon] 24937번 : SciComLove (2022) (Python) (0) | 2022.12.12 |
[BaekJoon] 26004번 : HI-ARC (Python) (0) | 2022.12.10 |
[BaekJoon] 25814번 : Heavy Numbers (Python) (0) | 2022.12.09 |
[BaekJoon] 23805번 : 골뱅이 찍기 - 돌아간 ㄹ (Python) (0) | 2022.12.08 |
Comments