코딩 속에는 꼭 배워야 할 중요한 원리가 숨어있는데, 그것은 바로 알고리즘입니다!
알고리즘(algrosim)은 컴퓨터를 이용하여 주어진 과제를 해결하기 위한 처리 절차입니다. 코딩을 배울 때 명령어를 어떻게 입력하는지의 기술을 배우는 것이 핵심이 아니라, 문제에 대해 어떻게 접근해야 하는지 파악하는 힘을 기르는 것이 바로 이 알고리즘을 배우는 목표입니다.
<출처: jtbc의 품위 있는 그녀 드라마 방송 장면 캡처>
알고리즘을 생각하면 떠오르는 드라마 속 장면이 있습니다. 주인공의 자녀로 출연한 아이는 이렇게 말합니다. “내가 수학을 왜 열심히 하는지 알아? 알고리즘. 모든 일의 순서와 효율성이 거기서 출발해. 우리 아빠는 그게 제로야.”
알고리즘은 문제 해결을 위한 처리 절차라 할 수 있으며, 문제를 해결하는데 있어 다양한 방법을 순서대로 정하며 해결하는 방법을 말합니다. 이렇게 생각하면 컴퓨터의 데이터를 처리할 때뿐만 아니라 현실 세계의 다양한 과제를 해결함에 있어서도 알고리즘의 개념이 사용되고 있음을 알 수 있습니다. 알고리즘은 컴퓨터 영역에서보다 훨씬 더 폭넓게 쓰입니다. 기계가 사용되기 훨씬 전부터 사람이 써온 것입니다. 알고리즘이란 단어는 페르시아 수학자 알-콰리즈미의 이름에서 유래했다고 합니다. 9세기에 손으로 수학 계산하는 기법을 설명한 책을 쓴 사람입니다. 알고리즘은 코딩에만, 수학에만 한정된 것이 아닙니다. 요리법에 따라 빵을 요리하는 것도 알고리즘을 따르는 것입니다. 본을 따라서 스웨터를 뜨는 것도 알고리즘을 따르는 것입니다. 사람들의 매일의 삶에서 마주치는 도전 과제들의 더 나은 해결책을 찾는 과정에서 알고리즘의 개념은 사용됩니다. 최근에 재미있게 읽은 책으로 [알고리즘, 인생을 계산하다]가 있습니다. 바로 여기서 이야기하는 것이 이것입니다.
<청림출판의 '알고리즘, 인생을 계산하다' 책표지>
컴퓨터 과학의 알고리즘의 일상생활에서 발생하는 다양한 문제 해결의 실마리가 될 수 있다며, 이러한 알고리즘을 통해 인생의 문제를 해결하는 방법을 소개합니다. 시간, 공간, 노력을 효율적으로 사용하는 현실적인 조언을 하는 책으로 흥미롭게 다가왔습니다.
이렇듯 코딩을 배우며 익히게 되는 알고리즘은 우리의 삶을 보다 효율적으로 개선하도록 돕습니다. 코딩을 배우는 목적이 모두가 프로그래머가 되는 것은 아닙니다. 하지만 코딩을 통해 익힌 알고리즘은 모두가 자신의 삶 속에서 부딪히는 문제를 보다 효율적으로 풀이하도록 도울 수 있습니다.
※ 참고문헌:
· 알고리즘, 인생을 계산하다 Ⅰ 브라이언 크리스천, 톰 그리피스 지음 Ⅰ 청림출판
· 그림으로 배우는 알고리즘 Ⅰ 스기우라 켄 지음 Ⅰ 영진닷컴