[Recursion] Letter Combinations of a Phone Number

2021. 3. 31. 15:12프로그래밍-코딩테스트/LeetCode

 

전화기의 숫자마다 알파벳이 매핑되어 있는데, 숫자 조합을 선택했을 때 숫자에 매핑된 알파벳으로 만들 수 있는 조합 을 찾는 문제다

기본적으로 backTracking문제다

 

keyMap이라는 딕셔너리에 매핑관계를 정의한다.

이후 backtrack이라는 함수를 만들었는데, 이는 path와 i를 인자로 갖는다.

 

콘솔을 다음과 같이 찍어 확인해보았다.

 

 

각 digit을 key로 두고 keyMap을 참고하여 letter를 찾아낸다. 

그리고 letter 하나당 다음 조합을 재귀로 돌리는 방식이다.

이때 path의 조합이 모두 구해지면 digit의 길이와 같아질 것이므로 경계값을 걸어둔다

 

'프로그래밍-코딩테스트 > LeetCode' 카테고리의 다른 글

[Array] 3Sum  (0) 2021.03.31
[DP] Coin Change  (1) 2021.03.31
[Array] Sort Colors  (0) 2021.03.31
[Tree] Construct Binary Tree from Preorder and Inorder Traversal  (0) 2021.03.31
[Tree] Flatten Binary Tree to Linked List  (0) 2021.03.29