2022년 05월 09일 월요일 - 아우 기침이 안멈춰
오늘 올려볼 문제는 17번 Letter Combinations of a Phone Number 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
귀찮지만 쉬운 문제
입력
사진에서도 볼 수 있듯이 String 1개가 입력으로 들어온다.
풀이 및 코드
주어진 번호들로 만들 수 있는 문자열들을 모두 찾아서 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
String 배열을 하나 만들어서 각 번호에 해당하는 문자열을 넣어두고 재귀를 사용해서 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
String[] arr = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
List<String> result = new ArrayList<>();
public List<String> letterCombinations(String digits) {
if(digits.equals("")) return result;
solve(0, digits, "");
return result;
}
public void solve(int index, String digits, String combi)
{
if(index == digits.length())
{
result.add(combi);
}
else
{
int num = digits.charAt(index) - '0';
for(int i = 0; i < arr[num].length(); i++)
{
solve(index + 1, digits, combi + arr[num].charAt(i));
}
}
}
}
제출 화면
오늘 문제는 미디엄을 가장한 이지 문제라서 쉽게 풀었다.
내일은 좀 재밌는 문제가 나왔으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 1641번 문제를 풀어보았다. (ft. java) (0) | 2022.05.11 |
---|---|
[LeetCode] 216번 문제를 풀어보았다. (ft. java) (0) | 2022.05.10 |
[LeetCode] 341번 문제를 풀어보았다. (ft. java) (0) | 2022.05.08 |
[LeetCode] 1679번 문제를 풀어보았다. (ft. java) (0) | 2022.05.04 |
[LeetCode] 581번 문제를 풀어보았다. (ft. java) (0) | 2022.05.03 |