기술(Tech, IT)/리트코드(LeetCode)

[LeetCode] 1165. Single-Row Keyboard

Daniel803 2023. 7. 19. 02:29

 알파벳 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