알고리즘 연습 방법
- 알고리즘을 잘 작성하기 위해서는 잘 작성된 알고리즘을 이해하고 스스로 만들어 봐야 함
2. 알고리즘 문제를 읽고 분석한 후에,
3. 간단하게 테스트용으로 매우 간단한 경우부터 복잡한 경우 순서대로 생각해보면서, 연습장과 펜을 이용하여 알고리즘을 생각해본다.
4. 가능한 알고리즘이 보인다면, 구현할 알고리즘을 세부 항목으로 나누고, 문장으로 세부 항목을 나누어서 적어본다.
5. 코드화하기 위해, 데이터 구조 또는 사용할 변수를 정리하고,
6. 각 문장을 코드 레벨로 적는다.
7. 데이터 구조 또는 사용할 변수가 코드에 따라 어떻게 변하는지를 손으로 적으면서, 임의 데이터로 코드가 정상 동작하는지를 연습장과 펜으로 검증한다.
느낀점
언제나 생각을 정리하는 습관은 중요한 것 같다. 수도코드는 문제해결하는데 매우 큰 도움이 된다. 복잡한 머릿속을 정리해주는 느낌이다. 알고리즘을 풀때, 어떠한 문제를 직면해서 해결하려고 할 때, 다음과 같은 상황을 생각하는 것도 도움이 된다.
- exceptional 한 상황을 생각하자. 로직은 100프로 맞지 않는다. 항상 예외상황을 염두해 두고 코드를 짜자.
- 예외적인 상황은 중간에 있지 않는다. 예를 들어 첫 시작이나 끝쪽에 존재하는 것 같다.