728x90
두 개의 단어 begin, target과 단어의 집합 words가 있다.
한 번에 한 개의 알파벳을 바꿀 수 있으며 words에 있는 단어로만 변환을 할 수 있다.
위의 조건에 따라 begin을 target으로 변환하는 가장 짧은 변환 과정을 찾아서 리턴
각 단어는 알파벳 소문자로 이루어져 있으며, 각 단어의 길이는 3 ~ 10
words에는 3 ~ 50개의 이하의 단어가 있으며 중복되는 단어는 없다.
변환이 불가능한 경우는 0을 리턴
dfs를 이용한 문제로
깊이탐색을 할 함수와, 알파벳이 한글자 차이 나는 것을 볼 bool함수를 만들어서 진행
find함수 이용해서 words에 target이 있는지 확인하고 dfs 실행시작
목표단어에 도달하면 min함수 이용해서 최솟값 갱신
방문하지 않았으며, 단어가 하나 차이 나는 부분 방문 해서 다음 단어 깊이 탐색하며 정답을 찾음
728x90
'프로그래머스 C++' 카테고리의 다른 글
프로그래머스 최고의 집합 C++ (0) | 2025.01.15 |
---|---|
프로그래머스 등굣길 C++ (0) | 2025.01.14 |
프로그래머스 이중 우선 순위 큐 C++ (1) | 2025.01.13 |
프로그래머스 야근 지수 C++ (0) | 2025.01.13 |
프로그래머스 네트워크 C++ (0) | 2025.01.13 |