알파벳 26개로 구성된 keyboard String이 input으로 주어지고 0부터 25까지를 개개의 index로 간주하고, Hash map의 key로 keyboard의 각 character를 value로 넣은 후, 또 다른 input인 word의 character를 앞에서 하나씩 읽어들여 각각을 Hash map의 key로서 value를 찾는다. 그리고 차이(절대값)의 누적합을 반환했다.
class Solution:
def calculateTime(self, keyboard: str, word: str) -> int:
dic = {}
p = 0
ret = 0
for i, k in enumerate(keyboard):
dic[k] = i
for i, w in enumerate(word):
ret += abs(p - dic[w])
p = dic[w]
return ret
'기술(Tech, IT) > 리트코드(LeetCode)' 카테고리의 다른 글
[LeetCode] 1167. Minimum Cost to Connect Sticks (0) | 2023.07.21 |
---|---|
[LeetCode] 1166. Design File System (0) | 2023.07.20 |
[LeetCode] 1151. Minimum Swaps to Group All 1's Together (0) | 2023.07.18 |
[LeetCode] 392. Is Subsequence (0) | 2023.07.14 |
[LeetCode] 229. Majority Element II (0) | 2023.07.13 |