-
2021-02-07] Shortest Distance to a CharacterIT/자기계발 ( Leetcode ) 2021. 2. 8. 00:14반응형
오늘의 문제:
이번 주 부터는 주말에는 blog는 쉴 수 있도록 한다.. 다른 일들도 많아지고, 문제는 풀겠지만, 글까지 쓰기엔
너무 힘들 것 같아 페이스 조절을 해야할 것 같다. 이번 문제는 Easy 문제로 간단히 생각해보면 풀 수 있는 문제이다.
예시를 보면서 문제 이해를 하자
주어지는 문자열과 그 안에 포함되는 문자에 대해서 거리를 나타내는 문제이다.
예시 1번처럼 지정한 문자가 여러번 반복될 수 있으며, 그 때에 가까운 거리를 나타내면 된다.
c의 경우 맨 마지막 'e'와 떨어진거리는 3이고, 마지막에서 2번째 'e'와 떨어진 거리가 2이기 때문에, 2로 나타난다.
그렇다면 우선 target 문자 'e'의 index 값을 모두 조사 후 각 index에서 떨어진 값 중 가장 작은 값을 모으면 답이 된다.
문제풀이)
class Solution: def shortestToChar(self, s: str, c: str) -> List[int]: ans=[] res_list = list(filter(lambda x: s[x] == c, range(len(s)))) # target c에 대한 중복되는 index 값 추출 print(res_list) for i in range(len(s)): temp=10000 # 적당히 큰값 주어지는 최대의 값이 10^4여서 10000 for j in res_list: if temp>abs(j-i): # 양 옆으로 떨어져도 양수로 늘어 절대값으로 값을 찾는다. temp = abs(j-i) ans.append(temp) return ans
반응형'IT > 자기계발 ( Leetcode )' 카테고리의 다른 글
2021-02-22] Longest Word in Dictionary through Deleting (0) 2021.02.22 2021-02-09] Convert BST to Greater Tree (0) 2021.02.09 2021-02-04] Longest Harmonious Subsequence (0) 2021.02.04 2021-02-03] Linked List Cycle (0) 2021.02.03 2021-02-02] Trim a Binary Search Tree (0) 2021.02.03