[오늘의 과제]
✅ 에피소드 26~29 까지 읽기
✅ TIL 작성하기
📝 오늘의 TIL 📝
✔️ 책에서 기억하고 싶은 내용들 정리
- 에피소드 26 : 정렬알고리즘이 뭐죠?
버블정렬 / 선택정렬 / 삽입정렬 모두 시간복잡도가 O(N²)이지만 속도가 모두 다르다.
삽입정렬>선택정렬>버블정렬 순으로 빠르다.
- 버블정렬:
이해하기는 쉽지만 실제로 많이 사용되지는 않음
배열에서 오른쪽의 원소와 비교하며 정렬하는 방식
비교 횟수, 교환횟수를 고려하면 시간복잡도가 O(N²) => 좋은 알고리즘이 아님
예)
[8,1,2,3,6,4,9,7] 오름차순정렬하기
8,1을 비교 >> [1,8,2,3,6,4,9,7]
8,2을 비교 >> [1,2,8,3,6,4,9,7]
이렇게 쭉 하다보면 9가 맨 뒤에 오게되는데 이 작업을 한 사이클 이라고 함
두번째 사이클은 9를 제외하고 다시 반복
이렇게 쭉~~ 하다보면 오름차순 정렬 완성
- 선택정렬
가장 작거나 가장 큰 데이터의 위치를 따로 기억하는 방식
시간복잡도는 O(N²)
예)
[8,1,2,3,6,4,9,7] 오름차순정렬하기
첫번째 사이클에서 가장 작은 숫자인 1의 위치인 1을 저장 후 0번째에 있는 8과 교환
두번째 사이클부터는 0번째 위치를 제외하고 1번째 위치부터 작은숫자를 탐색 후 저장
이렇게 쭉~~ 하다보면 오름차순 정렬 완성
- 삽입정렬
앞에 있는 데이터를 보면서 배치
시간복잡도는 O(N²)
- 에피소드 27 : 스택,큐가 뭐죠?
- Stack 이나 queue는 문법으로 구현된 것들이 아닌 개발자의 상상 속에 존재, 이런 개념을 추상 자료구조 abstract data type, ADT라고 함.
- 스택, 펜케이크마냥 차곡차곡 쌓이는것, 그렇기 때문에 데이터를 뺄때도 맨 위부터 빼야한다. (LIFO:last in first out)
- 큐, 위로 데이터를 쌓는것, 그렇기때문에 아래부터 데이터를 뺀다.(FIFO: first in first out)
- 브라우저에서 뒤로가기, 되돌리기(cmd+z)등 이 스택으로 구현한것
- 쇼핑몰 주문처리 시스템은 큐, 주문이 들어온 순서대로 데이터를 쌓고 가장 먼저 들어온 주문부터 처리
- 에피소드 28: 해시테이블이 뭐죠?
- 키와 값을 짝지어 모아두어 데이터를 쉽게 정리할 수 있게 해준것.
- 키만 알면 값을 바로 찾을 수 있기때문에 배열로 쭉~~ 나열되있는것보다 검색이 쉬움
menu={
커피:1000원,
콜라: 800원,
케이크:3000원
}
- 에피소드 33 : 개발자 필수 소양, 클린코드?
- 딱보면 무슨일을 하는지 한번에 알아볼 수 있는것이 클린코드
- 의미가 명확한 변수, 함수이름 짓기
- 함수이름은 가급적 동사로 : 어떤일을 하는 함수인지 알수있게
- 매개변수는 너무 많이쓰지 마라, 최대 3개 추천. 불가피한경우 configuration object 방식 사용
- boolean 값을 인자로 보내지 않는것이 좋음
- 나만알아보는 축약어금지
- 처음부터 클린코드를 쓰는것도 좋지만 떠오르는 코드를 일단 쓰고 나중에 다듬어도됨.
🧐 감명깊었던 구절
개발은 협업이다, 함께일하는 사람들이 모두 알아볼 수 있게 클린코드를 작성하는것은 중요하다
프로젝트를 아주 많이 해본것은 아니지만 몇번의 프로젝트와 한달간의 회사 인턴기간을 경험하며, 클린코드가 왜 중요한 것인지 알게 되어 최근 클린코드관련 강의를 듣고있다. 남이 짠 코드를 수정해야하는 경우에도, 코드리뷰를 받을때도 훨씬 수월하며 시간단축도 덤으로!! 처음부터 좋은습관을 들여놓아야겠다. 근데 함수명, 변수명 정하는건 진짜너무 어렵다..^^
✍🏻 오늘의 짧디 짧은 소감
요즘 클린코드 공부하는지 어떻게알고 또 딱 나와주셨네, 앞으로 클린코드를 쓰기 위해 노오력
스택과 큐의 개념이 계속 이해가 되지 않았는데, 구체적인 예시와 비유로 이해하기가 쉬웠다. 굿굿!!
'IT지식 > 노개북 스터디' 카테고리의 다른 글
[노개북 스터디] 11일차_2023/02/27 (0) | 2023.02.27 |
---|---|
[노개북 스터디] 10일차_2023/02/26 (0) | 2023.02.26 |
[노개북 스터디] 6일차_2023/02/22 (0) | 2023.02.22 |
[노개북 스터디] 5일차_2023/02/21 (0) | 2023.02.21 |
[노개북 스터디] 4일차_2023/02/20 (0) | 2023.02.21 |