용기러기's Coding World

알고리즘 일기 Day1 본문

용기러기's 알고리즘

알고리즘 일기 Day1

yongkis 2020. 7. 31. 10:20

이 파트에서는 알고리즘 일기라는

타이틀로 알고리즘 문제 풀이 & 풀면서 느꼈던 것들을 

자유롭게 작성하고자 한다(자유로운 일기식?)

 

먼저, 

출처 : (주)코드스테이츠 교육 자료

알고리즘 문제를 풀 때

체크해야할 사항 3가지

1) 요구사항이 하나 이상인 문제를 여러개로 쪼개서 생각할 수 있다

 

이 부분이 사실 제일 중요하다고 생각한다.

예전 수능 수리영역 29, 30번 문제들을 생각해보면

한번에 거시적인 문제해결 방식이 '뿅'하고 튀어나오는 경우는 없었다:O

문제를 쪼개서 생각할 수 있는 능력이

복잡한 알고리즘 문제를 해결하는 데에 있어서 가장 중요한 포인트가 아닐까 생각한다.

 

2) 문제를 일상적인 문장으로 표현할 수 있다

 

문제를 접해보면 사실 도대체 이걸 왜할까?라는 생각이 드는 문제도 많다..ㅎㅎ

그러나, 문제를 풀기 위해서는 

일단 문제에 대한 이해가 선행되어야 하고, 

문제에 대한 정확한 이해는 그 문제를 일상적인 용어 혹은 나만의 용어로

바꿀 수 있는 것이라고 생각한다. 

 

3) 잘게 쪼갠 특정 문제가 이미 배운  'javascript'의 어떤 개념과 연관되는지 생각해낼 수 있다

문제를 푸는 데에 있어서 1,2번까지만 하면

결국 문제를 풀 수 없다..

즉, 코딩으로 알고리즘 문제를 풀려면

알고리즘 문제  풀이에 필요한 로직(logic)과 

그 로직을 실제로 코드로 구현할 수 있는 

프로그래밍 언어 문법에 대한 이해가 베이스로 깔려있어야 한다고 생각한다.

물론 역으로 자바스크립트 문법에 대한 깊은 이해를 바탕으로

알고리즘을 떠올릴 수 도 있다고 생각한다 :D

 

다음으로, 

출처 : (주)코드스테이츠 교육 자료

# 주의사항

 

1) 들여쓰기(Indentation)

 

Tab(X) Space(O) 

취향차이이긴 하지만 Space를 많이 쓰는 추세!

 

2) 제대로 된 변수명, 함수(변수)명

 

- Boolean type의 경우 

areEqual, isAnimal  처럼 

= true/false를 했을 때 이해하기 쉽게 작성

 

- 함수의 경우 동사형으로 써주기!

 

- 상수의 경우 모두 대문자 & 대부분의 경우 변수명의 첫글자는 대문자로!

 

3) 사소한 것들이지만 중요한 중괄호, " ,;

 

- 중괄호를 문법적으로 안써도 되는 상황이어도 중괄호 써주기

- 작은 따옴표(')를 써주기 (+"를 쓸거면 ', " 번갈아 쓰지 않기!)

- ; 세미콜론 써주기!

 

4) 삼항 연산자를 쓰면 코드가 compact 해지지만 가독성이 떨어짐!

 

명확하게 파악할 수 있는 경우에만 

삼항 연산자 써주기

 

5) 뜻이 분명하다는 전제하에 되도록이면 짧게 쓰기

 

6) 줄바꿈을 최소로 하기!

 

7) 콤마(,), 연산자 사이를 띄어써주기

8) 변수명은 카멜케이스로!:D 

 

9) 주석을 많이쓰기보다는 코드에 story가 묻어나오도록!

 

추가적인 정보는

https://github.com/rwaldron/idiomatic.js/tree/master/translations/ko_KR#whitespace

 

rwaldron/idiomatic.js

Principles of Writing Consistent, Idiomatic JavaScript - rwaldron/idiomatic.js

github.com

링크 참조하기!