seegongsik
내 단어장
알고리즘

문제를 작게 나누어 보기

앞에서 알고리즘은 '문제를 푸는 정해진 순서'라고 했죠. 그런데 큰 문제 앞에선 그 순서가 도통 안 떠올라요. 비결은 하나예요. 한 입에 안 들어가면, 같은 꼴의 작은 조각으로 쪼개는 거예요.

01

한 입에 안 들어가요

방을 통째로 치우라고 하면
막막하죠.
어디서부터 손대야 할지
순서가 안 떠올라요.
큰 문제는 원래 그래요.
한 덩어리로 보면
너무 커서 한 입에 안 들어가요.

한 덩어리라 막막해요. 눌러서 쪼개보세요
한 입에 안 들어가는 큰 문제는, 같은 꼴 작은 조각으로 쪼개요.

큰 문제 덩어리를 눌러보세요. 작은 조각들로 쪼개져요. (방 치우기 → 책상 · 침대 · 바닥 · 책장)

방을 통째로 보면 막막했는데,
책상, 침대, 바닥, 책장으로
쪼개고 나니
갑자기 할 만해 보이죠.
큰 문제를 푸는 첫걸음은
바로 이거예요.
작게 쪼개는 것.

02

같은 꼴, 더 작은 문제

쪼갠 조각을 잘 보면
재밌는 게 있어요.
조각도 결국 '치우기'예요.
방을 치우는 일이
책상을 치우는 일로
작아졌을 뿐이죠.
조각은 원래 문제와
같은 꼴, 더 작은 문제예요.

조각을 눌러 안을 들여다보세요
보세요, 이 안도 결국 같은 꼴 "치우기"예요. 더 작아졌을 뿐이죠
조각은 원래 문제와 같은 꼴, 더 작은 문제예요. 그래서 같은 방법으로 풀 수 있어요.

조각 하나를 눌러 들여다보세요. 그 안도 결국 같은 꼴의 더 작은 문제예요. (책상 치우기도 = 치우기)

이게 왜 좋냐면,
큰 문제를 푸는 머리만 있으면
작은 조각도 같은 머리로
풀 수 있거든요.
새 방법을 안 배워도 돼요.
같은 꼴이니까,
쓰던 방법을 그대로
작게 쓰면 돼요.

03

조각에 순서를 세워요

쪼개기만 하면 끝이 아니에요.
조각들도 순서가 있어요.
바닥에 물건이 널렸는데
바닥부터 쓸면
다시 어질러지죠.
책상, 침대 위를 먼저 치우고
맨 마지막에 바닥을 쓰는 게
옳은 순서예요.

처리할 순서대로 조각을 눌러요
쪼갠 뒤엔 순서가 중요해요. 바닥은 맨 마지막에 쓸어야 안 어질러져요.

조각을 눌러 처리할 순서대로 줄 세워보세요. 위(책상·침대·책장)를 먼저, 바닥을 맨 마지막에 두면 맞아요.

순서를 맞게 세우니
조각들이 서로 안 부딪쳐요.
앞 조각이 망친 걸
뒤 조각이 또 치우는 일이
없어지죠.
1강에서 본 그대로예요.
같은 조각들이라도
순서가 다르면 결과가 달라요.

04

조각 답을 합쳐요

조각을 하나씩 다 풀었어요.
책상도, 침대도, 바닥도
깨끗해졌죠.
그런데 잠깐,
조각만 풀었지
방은 아직 안 끝난 거 아닌가요?
아니에요.
조각이 다 풀리면,
그게 모여 방이 깨끗해진 거예요.

푼 조각을 눌러 합쳐요
모인 조각 (0/4)
조각 답이 다 모이면, 그게 바로 큰 문제의 답이에요. 합치기도 한 단계예요.

푼 조각들을 차례로 눌러 합쳐보세요. 조각 답이 다 모이면, 그게 바로 큰 문제의 답(방이 깨끗해짐)이에요.

그러니까 합치기는
공짜로 되는 게 아니에요.
조각 답들을 모아서
하나로 잇는 것도
엄연히 한 단계죠.
쪼개고, 순서대로 풀고, 합치고.
이 세 박자가 다 맞아야
큰 문제가 진짜로 풀려요.

05

정리: 쪼개고, 순서, 합치기

큰 문제 앞에서 막막할 땐
이 네 박자를 떠올려요.
첫째, 같은 꼴 작은 조각으로 쪼갠다.
둘째, 조각도 같은 문제임을 안다.
셋째, 옳은 순서를 세운다.
넷째, 조각 답을 합친다.
이게 컴퓨팅 사고의 출발이에요.

네 박자를 차례로 눌러요
쪼개고 - 같은 꼴 - 순서 - 합치기. 이게 컴퓨팅 사고의 출발이에요
큰 문제를 만나면 이 네 박자. 작게 나누면 어떤 문제도 손에 잡혀요.

네 박자를 차례로 눌러 핵심을 정리해요. 쪼개기 → 같은 꼴 → 순서 → 합치기. 큰 문제를 다루는 한 장이에요.

이제 어떤 큰 문제를 만나도
무서워할 필요 없어요.
한 입에 안 들어가면
쪼개면 되니까요.
그런데 한 가지,
조각이 여러 개라면
그중 어떤 걸 먼저 할지,
순서가 정말 중요해지겠죠?
다음엔 그 줄 세우기, 정렬을 만져봐요.

한 줄 정리큰 문제는 한 입에 못 풀어요. 그래서 같은 꼴의 작은 문제로 쪼개고, 어떤 순서로 풀지 세우고, 조각 답을 다시 합쳐요. 이렇게 '쪼개고 - 순서 - 합치기'로 큰 문제를 다루는 게 바로 컴퓨팅 사고의 출발이에요. 어떤 어려운 문제를 만나도, 작게 나누면 손에 잡혀요.
알고리즘
이 페이지가 도움 됐다면 후원하기