소소한 컴퓨터 이야기

전화번호 문자 조합

by Cori

문제

2에서 9까지 숫자가 주어졌을 때 전화 번호로 조합 가능한 모든 문자를 출력하라 

 

· 입출력 예

digits return
"23" ["ad", "ae", "af", "bd", "bf", "bf", "cd", "ce", "cf"]

풀이

1. 모든 조합 탐색

-> 가능한 경우를 모두 조합하는 형태로 전체를 탐색한 후 백트래킹하면서 결과를 조합할 수 있다.

입력값 digits를 자릿수로 쪼개어 반복하고, 숫자에 해당하는 모든 문자열을 반복하며 문자 단위로 재귀 탐색을 진행한다. 문자를 조합해 만들 수 있는 길이는 입력값의 길이와 동일하므로, 해당 조건을 재귀함수의 종료 조건으로 설정하고, 조건에 맞지 않을 경우 dfs를 반복 수행한다.

'CS > Coding Test' 카테고리의 다른 글

이진수 변환  (0) 2021.10.08
팩토리얼  (2) 2021.10.07
섬의 개수  (0) 2021.10.05
일일 온도  (0) 2021.10.04
유효한 괄호  (0) 2021.10.03

블로그의 정보

코딩하는 오리

Cori

활동하기