코딩뉴스

교육계 이슈와 코딩 뉴스, 마르시스에듀의 최신 소식을 확인해 보세요.

 

코딩뉴스

알고리즘의 이해

조회 : 3161 작성일시 : 2019-02-15 13:17:36
코딩을 할 때 가장 중요한 것 중 하나는 알고리즘을 만드는 것입니다. 알고리즘에 대한 이해는 프로그램 작성의 기본입니다. 알고리즘에 대해서는 '우리가 코딩 속 알고리즘을 배워야 하는 이유'라는 제목으로 앞서 포스팅을 했었습니다. 다음 링크를 따라가면 이동합니다. (https://blog.naver.com/marusys_coding/221328421480)


알고리즘(algorithm)은 무엇일까요? 

알고리즘의 사전적 의미는 문제를 해결하기 위해 정해진 일련의 절차입니다. 주어진 문제를 논리적으로 해결하기 위해 필요한 절차, 방법, 명령 들을 모아놓은 것입니다. 알고리즘은 프로그램을 작성하는 기초가 되는 것이며, 컴퓨터를 이용하여 주어진 과제를 해결하기 위한 처리 절차입니다. 컴퓨터를 사용하여 정보를 관리할 때, 이때의 처리 절차를 알고리즘이라고 부릅니다. 

알고리즘은 문제 해결을 위한 처리 절차라 하였습니다. 이렇게 생각하면 컴퓨터의 데이터 처리뿐만 아니라 현실 세계의 다양한 과제의 해결에 있어서도 알고리즘의 개념이 사용되고 있음을 알 수 있습니다. 이를 닦는 것을 문제로 받았다 하고 이를 해결하려면, 

1. 치약의 뚜껑을 연다.
2. 칫솔을 꺼낸다.
3. 칫솔에 치약을 적당량 짠다.
4. 치약을 내려놓고 칫솔질을 한다.
5. 윗니를 칫솔로 위에서 아래로 쓸어내리며 왼쪽에서 오른쪽으로 10회 반복하여 닦는다.
6. 아랫니를 칫솔로 아래에서 위로 쓸어올리며 왼쪽에서 오른쪽으로 10회 반복하며 닦는다.
7. 이의 안쪽도 이와 같이 반복한다.
8. 혀도 칫솔로 안쪽에서 바깥쪽으로 닦아내리기를 5회 반복한다.
9. 양치컵에 물을 채운다.
10. 양치컵의 물을 입에 담고 헹구고 뱉어 내기를 7회 반복한다.
11. 칫솔을 헹군 후, 제자리에 정리한다.
12. 치약의 뚜껑을 닫고 제자리에 정리한다.
13. 양치컵을 헹군 후, 제자리에 정리한다.
  
이와 같은 식으로 절차를 나누고, 이를 적용하여 문제를 해결하는 과정 전체를 알고리즘이라고 합니다.


<출처: 영진닷컴의 그림으로 배우는 알고리즘>

위 그림이 이해하기 쉽게 되어 있는 것 같아 집에 있는 책에서 찍어 올려 보았습니다. 음식 요리법도 알고리즘이라고 하였는데, 여러 가지 음식을 만든다는 '과제'를 해결하기 위한 방법을 순서대로 기록하는 것이기 때문입니다. 실제로 요리하는 로봇이 있습니다. 이 로봇에게는 요리법을 알려주는 것이 가장 큰 미션일 것입니다. 



이때 알고리즘이 잘못되면, 그러니까 요리법이 잘못되면 요리가 맛이 없거나 아예 요리가 완성이 되지 않거나 또는 로봇의 움직임이 비효율적일 것입니다. 그렇다면 우리는 요리법을 수정해 입력해야겠지요? 이에 알고리즘이 잘못된 것을 확인하면 알맞게 그리고 보다 효율적으로 개선해야 합니다. 이를 반복하면 효율적인 알고리즘을 갖게 될뿐 아니라, 우리의 문제해결능력과 사고력 또한 향상될 것입니다. 여기에서 우리는 코딩 교육의 의의를 찾을 수 있겠습니다.


※ 참고자료: 
· 그림으로 배우는 알고리즘 Ⅰ 스기우라 켄 지음 Ⅰ 서재원 옮김 Ⅰ 영진닷컴

마르시스에듀는 누구나 21세기 필수 기술을 쉽고 재미있게 익혀 창의적이고 논리적인 사고력을 바탕으로 문제 해결을 할 수 있도록 돕는 에듀테크 회사입니다. 아이디어를 현실화할 수 있는 제품과 콘텐츠를 개발하고 서비스를 제공함으로써 미래 사회를 능동적으로 살아갈 수 있는 방법을 제시할 것입니다.

    

PRODUCT