코딩테스트

[프로그래머스] 모음사전_84512

라임온조 2023. 7. 18. 12:29

문제 및 코드

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