프로그래밍 대회를 위한 여섯 단계 문제 해결 알고리즘
1. 문제를 읽고 이해하기
2. 문제를 익숙한 용어로 재정의하기
3. 어떻게 해결할 지 계획 세우기
4. 계획 검증하기
5. 프로그램으로 구현하기
6. 어떻게 풀었는지 돌아보고, 개선할 방법이 있는지 찾아보기
1. 문제를 읽고 이해하기
문제의 궁극적인 목적 + 사소한 제약 조건 이해
2. 재정의와 추상화
문제를 자신의 언어로 풀어쓰기
문제의 본질을 어떠한 방식으로 재구성하느냐에 따라 어려운 문제를 쉽게 해결할 수 있는 문제로 만들 수 있음
3. 계획 세우기
문제를 어떤 방식으로 해결할지 결정하고 사용할 알고리즘과 자료구조 선택
4. 계획 검증하기
설계한 알고리즘이 모든 경우에 요구 조건을 정확히 수행하는지 증명
수행에 걸리는 시간과 사용하는 메모리가 문제의 제한 내에 들어가는지 확인
5. 계획 수행하기(프로그램 구현)
정확하고 효율적인 프로그램 구현
6. 회고하기
회고 : 자신이 문제를 해결한 과정을 돌이켜 보고 개선하는 과정
코드와 함께 자신의 경험으로 기록으로 남기기 ( 문제의 간단한 해법, 접근 방법, 해법을 찾는데 결정적이었던 깨달음, 오답 원인 )
같은 문제를 해결한 다른 사람의 코드 보기 -> 자신이 생각하지 못했던 통찰 얻을 수 있음
'Computer Science > 자료구조와 알고리즘' 카테고리의 다른 글
알고리즘 평가 기준 (0) | 2020.06.30 |
---|---|
간결한 코드 작성하는 방법 (0) | 2020.06.30 |
[JAVA] 백준 10430번 나머지 (0) | 2020.06.29 |
[C] 백준 10869번 사칙연산 (0) | 2020.06.29 |
[Java] 백준 1008번 A/B (0) | 2020.06.27 |