-
Backtracking_Leetcode_17. Letter Combinations of a Phone Number알고리즘/알고리즘 문제풀이 2025. 3. 25. 16:06
문제접근
1. digits을 적절한 알파벳들로 변형
2. 기존 결과값에 해당 알파벳을 추가하여 대체
정답코드
더보기class Solution { func letterCombinations(_ digits: String) -> [String] { var sol = [String]() for digit in digits { var subset = [String]() let converted = transform(digit) if sol.isEmpty { subset = converted.map { String($0) } } else { for char in converted { let base = sol.map { $0 + String(char) } subset.append(contentsOf: base) } } sol = subset } return sol } func transform(_ input: Character) -> String { switch input { case "2": return "abc" case "3": return "def" case "4": return "ghi" case "5": return "jkl" case "6": return "mno" case "7": return "pqrs" case "8": return "tuv" case "9": return "wxyz" default: return "" } } }
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
BinaryTree_Leetcode_114. Flatten Binary Tree to Linked List [swift] (0) 2025.04.01 BinaryTree, PrefixSum_Leetcode_2385. Amount of Time for Binary Tree to Be Infected [swift] (0) 2025.03.27 dijkstra_Programmers_배달 [swift] (0) 2025.03.25 PrefixSum_Leetcode_2381. Shifting Letters II [swift] (0) 2025.03.24 PrefixSum_Leetcode_303. Range Sum Query - Immutable [swift] (0) 2025.03.13