알고리즘을 공부하기 전에

khs·2021년 9월 4일
0

파이썬 알고리즘

목록 보기
1/7

1. 알고리즘이란?

  • 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합
  • 주어진 목적을 달성하기 위한 레시피, 연산의 시퀀스
  • 알고리즘의 목적은 대개 특정 문제의 해결

    문제: 주어진 입력에 대한 출력의 명확하고 정확한 명세
    ex) 자연수 x와 y가 주어질 때, x와 y의 곱을 출력하라.

    - 알고리즘을 기술하기 전에 문제를 명확히 서술할 수 있어야한다. 즉 무엇을 입력했을 때 무엇을 출력시켜야 하는지 정확하게 파악해야 한다.

  • 이미 우리는 알게 모르게 알고리즘을 이용하며 그 이점을 누리고 있다. 그 대표적인 예로는 '유튜브 알고리즘'을 들 수 있는데 특정 영상을 여러개 보다보면 유튜브에서 이와 관련된 영상을 추천해주고, 또 특정 이슈가 뜨거울 때에는 이와 관련된 영상을 추천해준다.



2. 왜 알고리즘을 공부해야 할까?

  • 위의 예를 이어서 살펴보자. 만약 사용자가 축구에 관심이 있어 축구 영상을 많이 본다면 확률적으로 축구 영상을 추천해주는 것이 그 사용자를 더 붙잡아두기 좋을 것 이다. 하지만 만약 엉뚱한 야구 영상을 추천해준다면 사용자를 오래 붙잡아두지 못할 것이고 극단적으로는 고객이탈이라는 결과를 초래할 수 있을 것 이다.

  • 위의 예는 굉장히 단편적인 예시이다. 만약 어떤 사이트에 회원가입을 시도했을 때 소요시간이 10분 넘게 걸린다면? 나이키 바지를 주문했지만 아디다스 반팔티가 온다면? 이 모든 것이 잘못된 알고리즘으로 인해 초래된 결과라고 할 수 있다.

  • 따라서 좋은 프로그램을 만들기 위해서는 알고리즘 공부는 필수이다. 빠르고 효율적이며 정확한 프로그램을 만들기 위해서는 좋은 알고리즘이 필요하다.


3. 어떻게 알고리즘을 공부해야 할까?

  1. 기본 개념 이해
  2. 코딩을 통한 문제풀이
  3. 응용 및 확장
  • 기본적으로 위와 같은 3단계의 방법으로 공부를 하기로 했다. 먼저 각 파트에 해당하는 개념을 파악하고 어떻게 작동하는지 이해한 후에 그 내용을 코드로 구현한다. (1,2과정을 동시에 진행할 수도 있다.) 그 후 이해한 내용을 바탕으로 또 다른 문제를 풀어면서 개념을 본인의 것으로 만든다.
profile
권혁상입니다. 행복코딩^_^

0개의 댓글