알고리즘이란?
어떠한 문제를 해결하기 위해 수행해야 하는 절차나 방법을 말한다.
APS(Algorithm Problem Solving)
말 그대로 알고리즘 문제를 해결하는 것.
문제 해결능력을 기를 수 있다!
좋은 알고리즘 기준
- 정확도 : 정확한 결과가 출력되는가? 얼마나 정확하게 동작하나?
- 실행속도(작업량): 적은 연산으로 문제를 해결할 수록 실행속도가 빠르다.
- 메모리 사용량: 적은 메모리를 사용할수록 컴퓨팅 자원을 아낄 수 있다.
- 가독성: 다른 사람이 이해하기 쉽도록 단순해야 한다.
- 최적성: 더 이상 개선의 여지가 없는가?
알고리즘을 나타내는 방식 2가지
- 의사코드(pseudo code)
특정 언어에 관계 없이 쉽게 이해할 수 있도록 나타내는 코드.
정해진 규칙이 없이 이해만 잘 되면 됨.
- 순서도
그림으로 표현한 방식으로, 조건문(분기문)은 마름모꼴로 표현한다.
시간복잡도(Time Complexity)
알고리즘의 작업량 및 효율성을 계산할 때, Big-O 표기법을 가장 많이 사용.
실제 걸리는 시간을 측정하거나 연산의 수를 계산하는 것은 현실적으로 어렵기 때문에
가장 큰 영향력을 주는 n에 대한 항만을 표시하여 사용!!
- 계수는 생략한다
- 최악의 경우를 가정하여 계산하는 방식
알고리즘 문제풀이 5단계
- 문제를 꼼꼼하게 읽고 데이터 범위, 조건을 확인한다
- 조건과 데이터의 범위에 맞는 자료형 선정, 알고리즘을 선택한다.
- 문제풀이 방식을 구상한다
- 구상한 방식을 코드로 작성한다
- 알맞게 답이 출력되는지 확인하고 수정한다.