우선 최소한의 명령어를 나열하는것이므로 명령어 하나당 거리가 1이라고 가정하고 최단거리를 찾는 문제라고 생각했다. 그리고 첫 시작상태에서 (예를 들어, 1234)에서 하나의 명령어 ( 즉, 거리 1)당 다른 상태로 뻗어져 나가는 것을 보고 BFS로 풀 수 있겠다고 생각했다.
처음에는 깊게 생각안하고 경우의 수가 1 ~ 10,000개이고 가능한 명령어 문자열의 수가 아마 길꺼같아서
경우의 수 대비 명령어 수가 많아지면 큐 메모리 에러가 날꺼같아서 큐에 페어 자료구조로 넣지 않았다.
그래서 map 자료구조를 통해 숫자를 key로, 명령어를 value로 정의했다. 해쉬 테이블에 key가 없거나, 기존의 명령어보다 새 명령어가 짧다면 갱신하는 방식으로 했다.
DSLR 연산때문에 Key를 문자열로 다뤘었는다 바로 시간초과가 났다.
그래서 과거에 통과했던 코드를 살짝 보니 정수로 했었던것을 보고 로직은 그대로 두고 자료형만 정수로 고치고
DSLR연산 방법만 정수형에 맞게끔 수정했더니 통과가 되었다.