[TIL] 06/22 알고리즘 테스트 및 매니저님과 면담!
* TIL 기본 내용
|
- 알고리즘 문제 풀이에 대한 피드백 시간
Q. 좋은 코드란 무엇일까?
질문 이유 : 프로그래머스 문제를 풀며, 한 줄만으로 풀이를 해낸 코드들이 인기가 많은 걸 봤다. 그런데 내가 짠 코드들은 긴 경우도 많았어서.. 과연 뭐가 좋은 코드인지 궁금해졌었다
A. 사람마다 다르겠지만, 이해하기 쉽고 보기 좋은 게 좋은 코드라고 볼 수 있음
: 아마 개발은 협업이라 이렇게 말씀해주신 것 같다! 코드를 무작정 짧게 줄이려고 하기보다는 모두가 이해할 수 있는 코드를 짜보자
Q. 내가 푼 방법 말고 다른 방법
질문 이유 : 알고리즘 문제를 풀며 항상 드는 고민인 것 같다. 더 좋은 방법이 없었나? 하는.
A. for보다는 forEach를 쓰자!
js 자체가 느린데, for을 쓰면 더 느려진다. 지금 문제들은 괜찮았으나 후에 더 많은 데이터를 다뤄야한다면 forEach를 써봐라
: 오.. 학교에서는 js를 기본으로 배우지 않다보니, forEach가 오히려 어색한 편이다. 근데 나는 앞으로 js를 쓸거고, 마침 js에는 좋은 메서드가 있으니 잘 활용해보도록 해야겠다!
Q. 시간 복잡도를 많이 신경 써야 하나?
: 학교에서 알고리즘 시간에 시간 복잡도에 대해 많이 말해줬어서 고민이 됐었다.
A. 알고리즘 문제 풀 땐 생각해야한다. 하지만 그 외에 FE는 크게 신경쓸 구석 없다.
Q. 앞으로 하면 좋을 것(조언)
A. 알고리즘 문제 아예 놓지 말기!
나중에 한 번에 하려고 하면 힘들다. 주에 두 문제 정도 풀면 좋으며, 레벨은 프로그래머스 기준으로 2레벨!
Q. 알고리즘 문제를 풀고 난 후, 그냥 넘어가도 괜찮나? 아니면 다른 사람의 코드를 보며 깊게 공부를 해야 하나?
: 문제를 풀고 난 뒤엔, 내가 해냄! 에 빠져 굳이 더 공부하지 않았는데.. 이게 맞나 싶어서 여쭤봄
A. 공부를 하는 것도 나쁘진 않다.
새로운 메서드나 방법을 알 수 있으니 말이다. 하지만 일단 풀면 넘어가도 괜찮다. 한 문제를 풀 줄 알면 비슷한 문제들도 풀 수 있을 것이기 때문이다.