1062번 - 가르침
안녕하세요?
질문 읽어주셔서 감사합니다.
문제풀이를 하던 중 시간초과가 계속 발생하였습니다.
추정하고 있는 원인은
알파벳 조합이 만들어 졌을때
모든 단어를 탐색하며
각 단어당 안배운 단어가 있는지 확인 하고 있는 것입니다.
Worst Case로
(50개의 단어 * 26개의 알파벳) ^ 21(조합)
이 발생하여 시간초과가 날 수 밖에 없는 코드입니다.
하지만 아직 부족한 실력 탓인지
이를 개선할 방법을 혼자서 찾지 못하고 있습니다.
어떻게 하면 백트랙킹을 활용하여 시간초과를 해결할 수 있을지
알려주신다면 정말 감사하겠습니다.
도움 감사드립니다.
자답 합니다.
사전에 a, c, i, n, t
알파벳을 선택되었다고 표시를 한 후 조합을 생성하니
시간 초과가 해결 되었습니다.
댓글을 작성하려면 로그인해야 합니다.
rlathdwls2 4년 전
안녕하세요?
질문 읽어주셔서 감사합니다.
문제풀이를 하던 중 시간초과가 계속 발생하였습니다.
추정하고 있는 원인은
알파벳 조합이 만들어 졌을때
모든 단어를 탐색하며
각 단어당 안배운 단어가 있는지 확인 하고 있는 것입니다.
Worst Case로
(50개의 단어 * 26개의 알파벳) ^ 21(조합)
이 발생하여 시간초과가 날 수 밖에 없는 코드입니다.
하지만 아직 부족한 실력 탓인지
이를 개선할 방법을 혼자서 찾지 못하고 있습니다.
어떻게 하면 백트랙킹을 활용하여 시간초과를 해결할 수 있을지
알려주신다면 정말 감사하겠습니다.
도움 감사드립니다.