본문 바로가기
📖 Problem Solution/Programmers

프로그래머스 단어 변환 Swift

by Fomagran 💻 2020. 12. 11.
728x90
반응형

Source Code


Solution


해당 문제는 DFS로 풀어야 하는 문제이다.

 

1.begin이 target과 한글자만 다른지 확인해준다. (이 조건이 반드시 있어야함)

 

2. 1번이 true라면 words에 target이 포함되어 있는지 확인한다.

 

2-1 2번이 true라면 answer를 반환해준다.

 

2-2 2번이 false라면 words에 있는 단어와 begin이 한글자만 다른지 확인한다.

 

3. 2-2가 true라면 begin을 words에 있는 단어로 바꿔주고 다시 1번부터 확인

 

Problem


 

 

코딩테스트 연습 - 단어 변환

두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수

programmers.co.kr

이번 문제는 3단계 치고 꽤 쉬운 문제였다. 내가 성장한건지 이번 문제가 쉬운건지....

퀵소트

 

 

퀵소트로 푸니깐 1~5까지는 비슷하고 심지어 더 느린것도 있는데 테스트 6에서 약 3배차이가 난다.

 

 

새롭게 알게된 것

 

array를 원하는 범위만큼만 가져오려면 array[0...1] 이런식으로 가져올 수 있는데 이것은 ArraySlice라는 타입이 된다.

 

이것은 인덱스가 배열과 같지 않아서 만약 인덱스를 사용하려면 Array(array[0...1])로 사용하거나 아니면

 

Array(0...1).map{array[$0]} 으로 바꿔서 사용하면 된다.

728x90
반응형

댓글