1) 나만의 언어로 다시말할 수 있는지?
2) 문제의 input?
3) 문제의 output?
4) input을 통해 output을 결정할 수 있는지?
즉, 문제를 해결할 충분한 정보가 주어졌는지?
5) 문제의 일부인 데이터의 중요한 부분에 어떻게 라벨을 지정할 수 있을지?
1) 간단한 예시로 시작한다
2) 좀 더 복잡한 예시로 진행
3) 빈 입력값이 있는 예제를 살펴본다.
4) 유효하지않은 입력값이 있는 살펴본다.
앞으로 밟아야하는 단계를 명확하게 작성하기
1) 작업에서 가장 어려운 부분을 찾음
2) 어려운 부분은 무시, 단순한 해결책 작성
3) 어려운 부분이 가능해지면 단순한 해결책들을 통합
문제를 해결하는 것에 그치는 것이 아니라
더 효율적인 코드, 이해하기 쉬운 코드로 리팩토링
1) 결과를 확인할 수 있는지?
2) 결과를 다른 방식으로 도출할 수 있는지?
3) 한눈에 코드를 이해할 수 있는지?
4) 문제해결방법을 다른 코드에도 적용가능한지?
5) 더 나은 해결방법을 찾을 수 있는지?
6) 다른 사람은 어떻게 해결했는지 참고해보기