본문 바로가기
  • Masacorgi 's Dev Bloggg
TIL/스크랩

[스크랩] JS 개발자가 알고리즘을 C언어로 푸는 이유

by masacorgi 2024. 12. 9.

https://yozm.wishket.com/magazine/detail/1651/

 

자바스크립트 개발자가 알고리즘을 C언어로 푸는 이유 | 요즘IT

사용법이 간단하고 최적화된 메서드 덕분에 자바스크립트로만 프로그래밍하면 알고리즘의 필요성을 느끼기 어렵다. 지난 세 달간 호기심이 생겨서 C언어를 공부하고 알고리즘 문제를 풀어보았

yozm.wishket.com

 

<요약>

프로그램을 개발할 때 성능과 효율에 대해 고민해야 하는 순간이 온다. 이때 알고리즘 전략을 도입해 수학적으로 연산 효율을 끌어올려 프로그램의 성능을 개선 시킬 수 있기에 우리는 미리 여러 알고리즘에 대해 공부한다.

 

자바스크립트는 풍부한 내장함수와 프로퍼티로 개발에 편리성을 주는 비교적 쉬운 언어이다.

언어가 제공하는 편리기능을 잘 사용하는 것을 통해 개발 속도를 높이고 생산성을 증대시킬 수 있다.

 

다만 고난이도의 알고리즘을 습득하기 위해 거쳐가야하는 낮은 단계의 알고리즘(기초문법, 배열, 정렬 등등)에서 미리 만들어져 제공되는 내장함수의 편의기능은 오히려 습득자에게 배움의 난이도를 증가시킬 수 있다.

또한 본인이 만들어 사용하는 메서드가 아니기 때문에 정밀히 원하는 방향으로 동작하지 않고 원치않는 에러를 발생시킬 수도 있다.

 

매우 낮은 단계의 개발언어인 C언어로 알고리즘을 공부한다면 불편하겠지만 알고리즘 공부의 가장 큰 목적인 논리적 문제해결 능력을 기르는 것에 더 집중할 수 있다.

 

<느낀점>

알고리즘 펠린드롬수 문제를 풀고, 내가 내장함수를 써서 제출한 코드가 수행시간이 두배나 느리게 작동하는 것을 보고 내장함수의 문제점에 대해 진지하게 고민하게 되었다.

알고리즘의 기초를 공부할 때, 그저 제출하는데 급급하지 말고(자꾸 쉬운 코스로 가게된다..) 문제에 사용된 알고리즘의 수학적 원리를 고민해보기로 다짐함!!!