2022년 05월 09일 월요일 - 아우 기침이 안멈춰


오늘 올려볼 문제는 17번 Letter Combinations of a Phone Number 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진

오늘도 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 문제 맞았습니다


오늘 문제는 미디엄을 가장한 이지 문제라서 쉽게 풀었다.

내일은 좀 재밌는 문제가 나왔으면 좋겠다.


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.

+ Recent posts