안녕하세요. 대디동동의 동코딩동 시간입니다.
알고리즘 하면 제일 먼저 어떤 게 떠오르시나요?
저는 유튜브 알고리즘이 제일 먼저 생각납니다.
"유튜브 알고리즘에 떠 있던데...", "유투브 알고리즘 덕에 떡상했다."
이런 얘기를 많이 듣곤 합니다.
그래서, 이번 시간에는 알고리즘에 대해서 상식적인 선에서 간단하게 설명하도록 하겠습니다.
알고리즘 (Algorithm)이란?
문제를 해결하기 위한 절차나 방법으로, 컴퓨터를 활용한 문제 해결 과정에서
해당 문제를 해결하는 일련의 방법 또는 절차, 해결 방법을 순서대로, 절차대로 나열한 것이라고 볼 수 있는데,
이를 프로그램에서는 문제 해결을 위한 명령어들의 집합이라고 말합니다.
좀 더 쉽게 설명해 보겠습니다.
한 밤중에 배가 너무 고파서 라면을 먹어야겠다고 생각했습니다.
이것을 알고리즘으로 표현하면
- 일어나서 주방으로 이동한다
- 주방의 서랍을 열어서 라면을 찾는다
- 라면을 끓일 냄비를 찾는다
- 물을 넣는다
- 가스레인지를 켠다
- 물이 끓는 동안 기다린다
- 라면과 수프를 넣는다
- 맛있게 먹는다
- 설거지를 한다
- 배부르니 다시 잠을 청한다
이렇게 배고픈 문제를 해결하기 위해
라면을 먹고 문제를 해결하는 과정을 순서대로,
절차대로 나열하여 실행한 것을 알고리즘이라고 합니다.
그리고, 저는 배고플 때마다 이 알고리즘을 적용하여 라면을 끓어 먹을 예정입니다.
참, 이름도 멋지게 만들어서 친구들에게 "Midnight Cook Ramen Algorithm"이라고 자랑할 겁니다.
이해를 돕기 위해 장난스럽게 설명드렸습니다만,
알고리즘을 간단하게 설명하는데 무리는 없는 것 같습니다.
또, 서울에서 부산까지 갈 경우,
기차, 버스, 자가용, 도보, 비행기 등 다양한 운송 수단을 통해서 갈 수 있지만,
빨리 가는 방법일수록 비용이 많이 필요하기 때문에
각각의 상황과 목적에 맞추어 최선의 방법으로 가도록 하는 것을 말합니다.
실제, 프로그램에서는 이보다 훨씬 더 복잡한
선형탐색, 이진탐색, 순차탐색, 해시탐색, 버블정렬, 선택정렬, 삽입정렬, 인진트리, 암호화 등
많은 종류의 알고리즘이 있습니다.
프로그래머로 깊이 있게 성장하고 싶을 경우
각각의 알고리즘의 원리가 어떻게 되는지 공부하시는 것도 추천드립니다.
유튜브, 넷플릭스, 인스타그램 등 추천 알고리즘은 이보다 훨씬 복잡한 A.I 기반 추천 알고리즘이 적용되어 있습니다.
넷플릭스의 경우 A.I 기반 추천 알고리즘 경연 대회를 열어서 더 좋은 추천 알고리즘을 만드는 것으로 유명합니다.
이번 시간에는 상식으로 알고 있을 만한 코딩용어를 소개해 드렸습니다.
점점 빨리 변해 가는 세상 속에서 더 빨리 적응할 수 있도록 좋은 코딩 상식 및 용어를 소개하겠습니다.
'코딩강좌 > 코딩상식' 카테고리의 다른 글
인터넷 네트워크 BPS 통신 속도 제대로 해석하기 (0) | 2023.09.18 |
---|---|
파일 용량 단위 기가, 테라 바이트만 알고 계시나요? (0) | 2023.09.16 |
초보 프로그램 개발자가 알아야 할 시간 단위 s, ms, μs, ns (0) | 2023.09.14 |
어떻게 전 세계 사람들과 인터넷이 연결되어 있을까? (0) | 2023.09.12 |
초보 개발자가 꼭 알아야 할 검색 엔진 노출 원리 - robots.txt (0) | 2023.09.06 |