문제 및 코드
1. 생각
// 생각
// 감이 안 잡힌다... 그래서 다른 걸 참고 함
// 구현
// dfs 돌면서 만든 단어들을 담을 list를 만든다
// words를 돌면서 각 words를 시작점으로 해서 dfs를 돈다
// 만든 단어 담긴 list를 돌면서 word와 같은 것의 index를 리턴한다
// dfs
// 그 동안 만들어진 단어들 담을 list와 앞으로 담을 단어를 매개변수로 보낸다
// 앞으로 만들 단어가 만들 수 있는 최대 단어 길이보다 크면 함수 종료
// 단어 담을 list에 앞으로 담을 단어 없으면 넣기
// for문으로 words를 돌기
// 재귀적으로 dfs 호출
2. 회고
- 완전탐색으로 분류되어 있기도 하고 완전탐색이 맞는 것 같긴 한데 이걸 어떻게 풀어야 하는지 도저히 감이 잡히지 않았다. 그래서 다른 정답 코드를 참고하였다.
- 참고한 코드를 보니 모음사전을 만들어 나가는 과정이 words를 돌면서 해당 word를 맨 첫 원소로 잡은 후 그 뒤에 dfs로 붙여 나가는 과정이랑 같다고 했다. 나는 생각을 못했는데 이 풀이를 보고 생각해보니 이해가 되었다.
- 그런데 dfs로 재귀 구현하는 방법이 어려웠다. 난 dfs 재귀를 이해하는 능력이 좀 떨어지는듯...
- 그리고 모든 단어를 만드는 것 같은데(물론 그래서 완전탐색이긴 하겠지만) 다른 풀이를 보니 모든 단어를 안 만들고 푸는 방법도 있는듯 하다.
3. 체크
풀이 횟수 |
시간 |
정답 여부 |
참고 여부 |
1 |
40분 |
|
O |