[CodingTest]Algorithm
Algorithm
어떤 문제를 해결하기 위해서 일련의 절차를 정의하고, 공식화한 형태로 표현한 일종의 문제의 풀이 방법
- 입력 - 출력에 필요한 자료를 입력(입력은 없는 경우도 있음)
- 출력 - 실행이 되면 적어도 한 가지 이상의 결과 출력
- 유한성(Finiteness) - 유한한 명령어를 수행한 후, 유한한 시간 내에 종료
- 명확성(Definiteness) - 각 단계는 단순하고 명확
- 효율성(Efficiency) - 가능한 한 효율적
알고리즘 푸는 법
- 문제 이해
- 주어진 조건을 토대로 문제가 무엇인지를 이해
- 전략 세우기
- 연습장에 전체적인 그림을 그리고 흐름 파악
- 수도코드 작성 전, 사고로 해결
- 코드 작성 전, 수도코드 작성
- 문제를 코드
- 전략을 코드로
- 구현한 코드를 최적화
댓글남기기