관리 메뉴

솜씨좋은장씨

[leetCode] 500. Keyboard Row (Python) 본문

Programming/코딩 1일 1문제

[leetCode] 500. Keyboard Row (Python)

솜씨좋은장씨 2020. 9. 13. 00:15
728x90
반응형

Given a List of words, return the words that can be typed using letters of alphabet on only one row's of American keyboard like the image below.

 

 

Example:

Input: ["Hello", "Alaska", "Dad", "Peace"]
Output: ["Alaska", "Dad"]

Note:

  1. You may use one character in the keyboard more than once.
  2. You may assume the input string will only contain letters of alphabet.

Solution

class Solution:
    def findWords(self, words: List[str]) -> List[str]:
        keyboard_dict = {"q":1, "Q":1, "w":1, "W":1, "e":1, "E":1, "r":1, "R":1, "t":1, "T":1, "y":1, "Y":1, "u":1, "U":1, "i":1, "I":1, "o":1, "O":1, "p":1, "P":1, "a":2, "A":2, "s":2, "S":2, "d":2, "D":2, "f":2, "F":2, "g":2, "G":2, "h":2, "H":2, "j":2, "J":2, "k":2, "K":2, "l":2, "L":2, "z":3, "Z":3, "x":3, "X":3, "c":3, "C":3, "v":3, "V":3, "b":3, "B":3, "n":3, "N":3, "m":3, "M":3}
        
        answer = []
        
        for word in words:
            key_row_list = []
            for char in word:
                key_row_list.append(keyboard_dict[char])
                
            key_row_list = list(set(key_row_list))
            
            if len(key_row_list) == 1:
                answer.append(word)
        
        return answer

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments