살아가는 이야기
프로그래밍에서 가장 중요한 것 본문
프로그래밍에서 가장 중요한 것은 '추상화(abstraction)'다. '추상화'라고 하면 너무 추상적으로 들릴지 모르지만, 간단하게 생각하면 '간단하게 하는 것'이다. 다시 말해서, '주어진 문제를 단순한 문제로 만드는 능력'인데, 이 능력이 프로그래밍에서는 가장 중요하다.
문제를 단순하게 만드는 비결을 하나 소개하려고 한다.
혹시 지금 골치아픈 문제 때문에 힘든가요?
그럼 그 문제를 아주 간단한 문제로 나누어 생각하세요.
그리고 아주 쉬운 부분부터 하나씩 처리하다보면 어느덧 고민은 사라져 있을 겁니다.
요점은 이겁니다.
"할 수 있는 것부터 하자."
문제를 단순하게 만드는 비결을 하나 소개하려고 한다.
- 프로그래밍 문제에서 주어진 것들 중에서 변하는 것을 찾는다. 변하는 것을 전문용어로 '변수(variable)'라고 하는데, 프로그래밍 문제에서 찾을 수 있는 변수를 프로그래밍 문제의 '매개변수(parameter)'라고 한다.
- 변수를 찾은 다음에는 이 변수가 취할 수 있는 가장 간단한 값을 찾는다. 이것을 전문용어로 '경계 값(sentinel)'이라고 한다.
- 복잡한 상황을 생각하기 전에, 먼저 문제의 매개변수 값이 가장 간단한 경우에 대해 문제를 푼다. 말이 길어졌는데, 그냥 가장 간단한 입력 값을 생각해서 문제를 풀면 된다.
- 간단한 문제에 대한 해답을 이용하여 복잡한 문제를 풀 수 있는지 확인한다. 풀 수 있다면 훌륭히 프로그래밍 작업을 완수한 것이다. 그렇지 않다면 문제의 매개변수를 잘못 찾은 것이 아닌가 살펴보고, 단계 1부터 다시 확인한다.
혹시 지금 골치아픈 문제 때문에 힘든가요?
그럼 그 문제를 아주 간단한 문제로 나누어 생각하세요.
그리고 아주 쉬운 부분부터 하나씩 처리하다보면 어느덧 고민은 사라져 있을 겁니다.
요점은 이겁니다.
"할 수 있는 것부터 하자."
Comments