JavaScript Deep Dive / 초입을 읽으며 든 생각, 문제 해결 능력과 알고리즘은 동일한 것인가?

Sangho Dev 💻 회고록·2023년 1월 9일
0

JavaScript Deep Dive 초입을 읽다가 든 견해이다.

문제해결 능력이란?

프로그래밍에 앞서 해결해야 할 문제(요구사항)을 명확히 이해한 후 적절한 문제 해결 방안을 정의할 때 요구되는 능력

그렇다면 문제해결 능력과 알고리즘은 동일시 할 수 있는 것 일까?
책에서는

그렇지 않다. 문제 해결 능력을 함양하는 데 알고리즘 학습은 큰 도움이 되지만 문제 해결 능력은 더 큰 차원의 능력이다.

라고 나와있다. 이 부분에 이어서 더 자세히 기술이 되어있지는 않았지만, 이 부분을 읽고도 동일한 것이 맞지 않나? 라는 의문은 사라지지 않았다.

그렇다면 알고리즘이란 무엇인가?
알고리즘(라틴어, 독일어: Algorithmus, 영어: algorithm )이란 어떠한 문제를 해결하기 위한 여러 동작들의 모임이다.
문제를 해결하는 방법을 알고리즘 이라고 한다면, 알고리즘이라는 말 자체가 문제 해결을 위해 답을 찾아가는 과정을 뜻하게 되는데, 많은 해결 방법을 알고 있어야 문제 해결 능력이 생기는 것이 아닐까? 그렇다면 둘은 동일하다고 보는게 맞지 않을까..?
기존의 알고리즘을 공부하지 않고도 또는 기존 알고리즘을 사용하지 않고도 문제를 해결할 수 있다면 그거야말로 천재가 아닐까?
책에서는 막연히 동일하지 않다라고 단정지어 써져있는거 같아 읽다가 든 의문을 두서없이 써보았다.

profile
빨리 가는 유일한 방법은 제대로 가는 것이다. (로버트 C.마틴, <클린 코드>의 저자)

0개의 댓글