알고리즘 #0 - 그게 뭔데 씹X아

HongInSung·2023년 1월 3일
0
post-thumbnail

시작하기 전

본격적으로 알고리즘 공부에 들어서기 전 간단하게 개념만 정리하고 가겠습니다.
참고로 이 시리즈는 주니온TV 에서 강의를 듣고 정리한 내용입니다! ( 무료이니 꼭 봐보세요!! )

알고리즘이 뭔데

알고리즘이란 어떤 문제를 컴퓨터로 풀기위한 효율적 절차라고 정의합니다.
중요한 것은, 문제를 그냥 푸는 것이 아닌, 단계별로 명확하게 기술해야 합니다.

알고리즘의 이름에 어원
7세기에 등장한 페르시아에 수학자인 알콰리즈미(Al-Khwarizmi)의 이름에서 따온것이 현재의 알고리즘이 되었다.

왜 공부해야 하는데?

위에서 말했듯 문제를 컴퓨터로 풀기 위해서 공부해야 합니다.
단순히 우리의 뇌로 문제를 푼다면 할수야 있겠지만 너무 오래 걸리겠죠?
그래서 컴퓨터 프로그래밍 언어를 사용해서 문제를 풀어내는 것입니다.

결론적으로 말해서, 다양한 문제 해결 방법을 배워서 알고리즘 문제를 이해하고, 효율적으로 해결하는 방법을 배워야 한다는 거죠.

이거 공부해서 뭐가 좋음?

일단, 코딩 테스트와 면접을 준비하기 위해서는 꼭 배워야 합니다.
그리고 여러 경진대회에서 쓰이는 것이 알고리즘입니다.
만약 알고리즘을 전부 배워서 경진대회 나간다? 상 싹다 쓸어갈 수 있습니다.
그리고 새로운 문제를 만나더라도 그것을 효율적으로 해결할 수 있습니다.

문제는 뭐고, 해답은 뭔데?

문제는 당연하게 해답을 찾기 위해 물어보는 질문입니다.
근데 여기서 좀 생소한 단어가 등장합니다.

Parameter(파라미터), 특정한 값이 지정되어 있지 않은 변수입니다.
f(x) <- 요 x를 담당하는 녀석입니다.

instance(인스턴스, 입력사례), 문제에 파라미터에 지정된 값입니다.
예를 들어보죠. 만약 f(x) = x + 5 라고 해봅시다.
그럼 f(5)는 뭘까요? f(5) = 5 + 5 / f(5) = 10
이렇게 x에 들어가게 될 값을 입력사례 다른 말로는 인스턴스라고 합니다.

즉, 특정 입력사례의 해답 = 파라미터를 입력사례로 질문한 문제의 해답이라는 소리입니다.

알고리즘이 뭔데 22

어떤 문제의 모든 입력사례에 대해서 해답을 찾아주는 단계별 절차입니다.
f(x) = x + 5 라는 알고리즘을 찾았다고 해봅시다.
그럼 이 x가 실수의 원소다라고 했을때 어떤 값을 대입하든 해답을 찾을 수 있어야 합니다.

즉, 입력 파라미터에 어떤 입력 사례가 주어지더라도 해답을 찾을 수 있는 절차가 알고리즘입니다.

마치며

자, 다음시간에는 대표적인 알고리즘 문제인 순차 탐색 문제를 알아봅시다.

profile
안녕하세요! 풀스택 노려보고 있는 홍인성입니다!

0개의 댓글