문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
문자열 배열 words가 주어졌을 때, 아래 이미지와 같이 미국식 키보드의 한 줄에 있는 알파벳 글자만 사용해서 입력할 수 있는 단어를 반환해라.
참고로, 문자열은 대소문자를 구분하지 않으며, 같은 글자의 소문자와 대문자 모두 같은 행에 있는 것으로 간주된다.
미국식 키보드는 다음과 같다.

#1
Input: words = ["Hello", "Alaska", "Dad", "Peace"]
Output: ["Alaska", "Dad"]
Explanation: 대소문자를 구분하지 않기 때문에 미국 키보드에서는 "a"와 "A" 모두 두 번째 줄에 있다.
#2
Input: words = ["omk"]
Output: []
#3
Input: words = ["adsdf", "sfd"]
Output: ["adsdf", "sfd"]
class Solution {
public String[] findWords(String[] words) {
String s1 = "qwertyuiop";
String s2 = "asdfghjkl";
String s3 = "zxcvbnm";
List<String> list = new ArrayList<>();
for(int i = 0; i < words.length; i++){
String[] word = words[i].toLowerCase().split("");
String temp = "";
boolean flag = true;
if(s1.contains(word[0])) temp = s1;
else if(s2.contains(word[0])) temp = s2;
else temp = s3;
for(int j = 1; j < word.length; j++){
if(!temp.contains(word[j])){
flag = false;
break;
}
}
if(flag) list.add(words[i]);
}
return list.toArray(new String[list.size()]);
}
}