• [도전! 코드마스터] 하노이의 탑을 옮기는 데 걸리는 시간은?

    [도전! 코드마스터] 하노이의 탑을 옮기는 데 걸리는 시간은?

    어린이과학동아 2016년 18호

    인도의 어느 사원에는 탑이 있어요. 다이아몬드로 만든 기둥에 금으로 만든 큰 원판 64개를 크기순으로 차곡차곡 끼워 만든 탑이지요. 옆에는 빈 기둥 두 개가 나란히 늘어서 있어요. 이 사원의 승려들은 한 명씩 돌아가며 원판을 차례대로 다른 기둥으로 옮기지요.승려들이 탑을 다른 기둥으로 완전 ...

  • [도전! 코드마스터] 장애물을 피해 피아노를 옮겨라!

    [도전! 코드마스터] 장애물을 피해 피아노를 옮겨라!

    어린이과학동아 2016년 17호

    여러분이 이사를 한다고 가정해 봐요. 방에서 현관까지 아주 큰 물체, 예를 들어 침대나 피아노같은 아주 큰 가구를 옮겨야 해요. 이 가구가 다른 가구 또는 벽과 부딪히는 일 없이, 최소한의 힘으로 최소한의 길만 이동하려면 어떻게 해야 할까요?언뜻 보면 생활 문제 같지만 이 문제를 수학적으로 ...

  • [도전! 코드 마스터] 전봇대에도 알고리즘이 숨어 있다?

    [도전! 코드 마스터] 전봇대에도 알고리즘이 숨어 있다?

    어린이과학동아 2016년 16호

      서울 전역에 전기를 공급할 새로운 발전소가 세워졌다고 가정해 봐요. 이때 전기선을 연결하는 변전소와 전봇대를 어디에 설치하는 게 좋을까요? 가장 싼 가격으로 가장 많은 지역에 전기를 보낼 수 있도록 연결하는 게 좋겠죠? 즉, 가장 적은 비용이 드는 경로를 찾아야 해요. 바로 이때 ‘최소 ...

  • [도전! 코드마스터] 빠른 길 찾기의 비결은 ‘최단 경로 알고리즘’

    [도전! 코드마스터] 빠른 길 찾기의 비결은 ‘최단 경로 알고리즘’

    어린이과학동아 2016년 15호

    한결이가 수호에게 첫 과제를 내놨어요. 학교까지 가는 가장 빠른 길을 찾는 거죠. 이건 바로 ‘최단 경로 알고리즘’을 익히는 과정이랍니다.최단 경로 알고리즘은 주어진 지점들을 잇는 가장 ‘빠른 길’을 찾는 알고리즘이에요. 지하철 환승 경로 찾기, 대중교통과 자동차에 맞는 빠른 길 찾기뿐 ...

  • [도전! 코드 마스터] 컴퓨터는 내가 원하는 정보를 어떻게 찾아낼까?

    [도전! 코드 마스터] 컴퓨터는 내가 원하는 정보를 어떻게 찾아낼까?

    어린이과학동아 2016년 14호

    컴퓨터에는 많은 양의 정보, 즉 ‘데이터’가 저장돼 있어요. 데이터가 많다 보니 간혹 원하는 데이터를 바로 찾기 어려울 때가 있어요. 그럴 땐 검색창을 띄우고 이름 하나만 쓰면 그 데이터가 포함된 공간이 어디인지 바로 나오지요. 이 과정에서 사용되는 것이 바로 ‘검색 알고리즘’이랍니다. ...

  • [도전! 코드 마스터] 엉망진창 책장 속 책들, 어떻게 정렬할까?

    [도전! 코드 마스터] 엉망진창 책장 속 책들, 어떻게 정렬할까?

    어린이과학동아 2016년 13호

    여러분의 책장을 살펴 보세요. 책이 잘 정리되어 있나요? 만약 책이 들쑥날쑥, 엉망진창으로 널려 있다면 한 번 정리해 보세요. 가장 작은 책이 왼쪽에, 가장 큰 책이 오른쪽에 오도록 두는 건 어떨까요? 처럼 원래 순서가 정해진 경우라면, 가지고 있는 어과동 중 가장 먼저 나온 책 ...

  • [도전! 코드마스터] 논리적으로 생각하자! ‘컴퓨팅 사고’

    [도전! 코드마스터] 논리적으로 생각하자! ‘컴퓨팅 사고’

    어린이과학동아 2016년 11호

    롤랑과 합체해 코드마스터로 거듭났어요! 생각을 안 하고 무턱대고 덤비는 수호에게 롤랑은 “컴퓨팅 사고가 필요하다”고 외치죠. 대체 컴퓨팅 사고가 뭘까요? 0과 1로 이루어진 기계어로 생각하라는 이야기일까요?컴퓨팅 사고, 또는 컴퓨팅적 사고는 어떤 문제의 해답을 일반화하는 과정을 말해요. ...

  • [도전! 코드마스터] 코딩을 내 맘대로! 컴퓨터 언어의 세계

    [도전! 코드마스터] 코딩을 내 맘대로! 컴퓨터 언어의 세계

    어린이과학동아 2016년 10호

    컴퓨터에게 말을 거는 방법은? 바로 코딩이지요. 그리고 이때 사용하는 언어가 코드, 즉 ‘프로그래밍 언어’고요. 우리가 사용하는 ‘자연어’로 이루어진 코드는 기계어로 바꿔 줘야 컴퓨터가 알아들을 수 있어요. 즉, 우리가 자연어로 코드를 짜면 이것이 0과 1이라는 기계어로 바뀌어 명령을 수 ...