-
[노개북 챌린지] TIL 2023.02.25노마드코더/노개북 챌린지 2023. 2. 26. 01:31
📖 오늘 읽은 범위
에피소드 26 ~ 에피소드 29
📝 책에서 기억하고 싶은 내용
실생활에서 가장 상상하기 쉬운 정렬 알고리즘 3가지
1. 왼쪽, 오른쪽만 보면서 정렬하는 버블 정렬 (시간 복잡도 : O(N^2))
2. 하나를 콕 집어 가며 정렬하는 선택 정렬 (시간 복잡도는 버블 정렬과 동일하지만 훨씬 효율적)
3. 앞에 있는 데이터를 보면서 배치하는 삽입 정렬
스택의 규칙 (LIFO)
1. 위에서 데이터를 쌓는다
2. 위에서부터 데이터를 뺀다
ex ) 웹 브라우저의 뒤로 가기 버튼, 되돌리기 단축키
큐의 규칙 (FIFO)
1. 위로 데이터를 쌓는다
2. 아래에서부터 데이터를 뺀다
ex ) 쇼핑몰 주문 처리 시스템
해시 테이블 : 키와 값을 짝지어 모은 것
시간 복잡도 : O(1), Big-O 표기법으로 표현할 수 있는 가장 빠른 시간!
해시 충돌(hash collison)을 추가로 처리해야 할 수 있기 때문에 항상 O(1)은 아님
클린 코드를 위한 5가지 꿀팁
1. 의미 있는 변수, 함수의 이름을 적절히 사용하라
2. 함수 이름은 가급적 동사로 지어라
3. 매개변수는 너무 많이 쓰지 마라
불가피하게 매개변수를 많이 설정해야 한다면, 컨피겨레이션 오브젝트라는 방식으로 매개변수를 묶어 전달하는 방법도 고려해 볼 수 있다
4. 불린값을 인자로 보내지 마라
5. 축약어를 쓰지 마라
원래 코드가 머릿속에서 막 떠오를 때에는 클린한 코드를 작성하기 힘들다!
일단 잘 실행되는 코드를 막 쓰고, 클린하게 코드를 다듬는 작업을 하면 된다!
🙂 오늘 읽은 소감
서점에서 클린 코드 책을 발견하고, 사서 읽어볼까? 싶었는데 아직 이 책을 읽을만한 수준이 못된다고 생각해서 내려놓은 적이 있다. 근데 어차피 읽을 책이라면 노개북 챌린지처럼 조금씩 꾸준히 읽어보는 것도 좋겠다는 생각이 든다. 처음부터 클린하게 코드를 작성하는 습관을 들여놓으면 좋으니까! 물론 쉽진 않겠지만.. ㅎㅎ
❓ 궁금한 내용, 잘 이해되지 않는 내용
스택과 큐의 차이를 더 찾아봐야겠다!
'노마드코더 > 노개북 챌린지' 카테고리의 다른 글
[노개북 챌린지] TIL 2023.02.28 (0) 2023.02.28 [노개북 챌린지] TIL 2023.02.26 (0) 2023.02.26 [노개북 챌린지] TIL 2023.02.23 (0) 2023.02.23 [노개북 챌린지] TIL 2023.02.22 (0) 2023.02.22 [노개북 챌린지] TIL 2023.02.21 (0) 2023.02.21