•
문제 링크 : LeetCodeKeyboard Row - LeetCode
•
문제 설명 : 주어진 문자열 중 미국식 키보드 기준으로 하나의 행에 존재하는 문자로만 구성된 단어를 반환하는 문제
•
풀이 방법
◦
각 문자마다 어떤 행에 존재하는지 dict로 저장 후 확인
•
시간복잡도 :
•
성공 코드
class Solution:
def findWords(self, words: List[str]) -> List[str]:
keyboard_info = {}
result = []
for ch in 'qwertyuiopQWERTYUIOP':
keyboard_info[ch] = 1
for ch in 'asdfghjklASDFGHJKL':
keyboard_info[ch] = 2
for ch in 'zxcvbnmZXCVBNM':
keyboard_info[ch] = 3
# 각 문자열를 구성하는 문자를 확인하여 같은행인지 확인
for word in words:
is_one_row = True
for i in range(len(word) - 1):
if keyboard_info[word[i]] != keyboard_info[word[i + 1]]:
is_one_row = False
break
if is_one_row:
result.append(word)
return result
Python
복사