[TIL] 2025-04-19 알고리즘 문제
2025-04-19 TIL
알고리즘 문제
하노이의 탑 알고리즘 문제를 풀어보고자 했는데, 처음 재귀 함수를 배울 때 하노이의 탑을 예시로 사용하면서 공부를 했었던 기억이 납니다.
시간이 좀 지났었어서 하노이의 탑을 구체적으로 어떻게 구현해야할지는 한번에 기억나지 않았는데, 최근에 재귀 함수로 풀이한 알고리즘 문제들이 있었어서 크게 어렵지 않게 풀 수 있었습니다.
굉장히 고전적인 문제이지만 재귀 함수 문제로 자주 다뤄지는 것 같기 때문에 잘 기억해두면 도움이 될 것 같습니다.
재귀 함수로 풀지 않고, 반복문으로 풀어내는 방법이 있는 것 같은데, 다음에 기회가 된다면 반복문으로도 한번 시도해보는게 좋을 것 같습니다.
[프로그래머스][C++] 하노이의 탑
미로에서 최단 거리를 구하는 문제를 풀어보고자 시도했습니다.
최단 거리를 찾는 것은 BFS를 사용하는 것이 효율적이라고 학습했기 때문에 BFS로 바로 접근하면 된다고 생각했습니다.
하지만, 특정 구간을 목표로 도착하기 전에 다른 위치에 방문해야한다는 것을 어떻게 구현해야할지에 대한 어려움이 있었습니다.
이 문제를 해결하는데에 오랜 시간이 걸리지 않았고 단순하게 BFS를 두번 실행하는 방법으로 풀어냈습니다.
BFS를 잘 구현해내는 것에는 아직 어려움을 느끼고 있는데, 학습에 큰 도움이 되는 문제였습니다.
해당 문제를 풀어낸 후에 queue
의 자료형으로 tuple<int, int, int>
을 사용한 부분이 가독성과 명확성이 떨어진다고 느껴져, 리팩토링을 시도했습니다.
구조체를 사용하는 것이 가독성과 명확성 측면에서 좀 더 효율적이라고 생각했고, 성능에서 큰 차이가 있지 않은 것 같으므로 성공적으로 개선 했다고 생각합니다.
[프로그래머스][C++] 미로 탈출
댓글남기기