Closed baexxbin closed 2 months ago
🤔 시간복잡도 고려사항
begin
에 대해 직접 한 단어씩 바꾸면서 target
을 찾을 경우 시간 복잡도는 26^10
이 될 수 있음💡 풀이 아이디어
Queue
에 넣어줌Queue
: Node
에 대한 정보를 담을 수 있음Node
: idx
와 depth
를 가지고 있음boolean v[]
: 해당 idx
의 단어가 쓰였는지 확인하는 배열🤔 시간복잡도 고려사항
💡 풀이 아이디어
BFS
를 진행🤔 시간복잡도 고려사항
각 단어길이 <= 10 words 길이 <= 50 => 정점의 개수 (N) == words 길이, 즉 O(N^2)이어도 괜찮음 => 완전탐색 고려(BFS, DFS 등) 💡 풀이 아이디어
BFS로 풀이 현재 단어(now)와 다음 탐색할 단어(next)가 하나의 알파벳만 차이나면 해당 단어로 이동할 수 있음 => 큐에 삽입
🤔 시간복잡도 고려사항 3<= 단어 길이 <=10, 단어개수 <=50, O(N^2) 이상 가능
💡 풀이 아이디어
단계별로 진행하여 최단 경로 찾기 -> BFS
(Queue
, boolean[] visited
)
최소 변환 과정(convert)
: 한글자만 다를 경우 변환
🤔 시간복잡도 고려사항
O(N^2)
💡 풀이 아이디어
dfs
이용: 현재 단어가 target이랑 같아질때까지 진행
!visited[i]
, 한글자 차이나면(canChange(cur, nxt)
) cnt++ 문제를 잘 읽고 이해하자..
🤔 시간복잡도 고려사항
💡 풀이 아이디어