Algorithm이란?
특정 임무를 수행하는 과정 혹은 단계를 말한다
Algorithm 문제풀이 능력 성장 방법
- plan을 세워라
- 일반적인 problem solving patterns를 익혀라
problem solving 단계
- 문제를 이해하자
- 쉬운 문제 해답 예시를 찾아보자
- 문제를 쪼개자
- 문제를 풀자/ 간단하게 만들자(더 쉬운 문제를 풀자)
- 풀이를 refactoring 하자
문제를 이해하자
- 나의 언어로 다시 문제를 설명해보자
- input 과 output 을 명확히 하자
- 문제를 풀기에 충분한 정보를 가지고 있는지 체크하자
- 문제에서 중요한 정보를 체크하자
쉬운 문제 해답 예시를 찾아보자
쉬운 해답 예시는 문제 해결에 도움이 된다
- 간단한 예로 시작해라
- 복잡한 예를 추가해라
- 빈 input 값 혹은 틀린 input 값을 넣어보자
문제를 쪼개자
작은 단위로 문제를 쪼개어 나눠 풀자
문제를 풀자/간단하게 만들자
더 쉬운 문제를 푸는 것은 문제를 푸는 과정이다
풀이를 refactoring 하자
더 나은 풀이로 개선하는 것까지가 문제풀이의 완성이다