Algorithm

어떤 문제를 해결하기 위해서 일련의 절차를 정의하고, 공식화한 형태로 표현한 일종의 문제의 풀이 방법

  • 입력 - 출력에 필요한 자료를 입력(입력은 없는 경우도 있음)
  • 출력 - 실행이 되면 적어도 한 가지 이상의 결과 출력
  • 유한성(Finiteness) - 유한한 명령어를 수행한 후, 유한한 시간 내에 종료
  • 명확성(Definiteness) - 각 단계는 단순하고 명확
  • 효율성(Efficiency) - 가능한 한 효율적

알고리즘 푸는 법


  • 문제 이해
    • 주어진 조건을 토대로 문제가 무엇인지를 이해
  • 전략 세우기
    • 연습장에 전체적인 그림을 그리고 흐름 파악
    • 수도코드 작성 전, 사고로 해결
    • 코드 작성 전, 수도코드 작성
  • 문제를 코드
    • 전략을 코드로
    • 구현한 코드를 최적화

댓글남기기