본문 바로가기
Today I Learned 2024. 3. 18.

(24.03.18) CS강의 마무리 + 문제 연습 세팅 + 기타 미션

이번주부터 이사할 집을 알아보고 다녀야 했는데 일정이 좀 늦혀지게 되었다

아마도 좀만 더 개발 교육을 받는거에 집중을 할 수 있어서 다행이라고 생각!

 

추가로 저번주에 계획했던 일들도 하나하나 개인 To Do List 완성해서 해나가고 있다

 

이사갈 준비가 미뤄져서 이제는 저번주 계획에 더해서 팀원들과 백준 알고리즘 테스트 문제들을 풀기로 했는데 생각보다 

주니어 입문자에게는 세팅을 해야하는 걸림돌이 좀 있어서 고거 준비하느라 좀 애먹는 월요일이었다..


CS강의 간단 정리

어제의 공간 자원, 공간 복잡도 보다는 그래도 수학에 관련된 내용이라 이해하기 쉬었다. 공대를 나오기도 해서 함수 및 수학으로 설명되어 있는게 오히려 이해하기가 수월하다ㅠ

숫자와 알파벳이 많이 나오니 오히려 반가웠고, 거기에다가 실습했을 때 조금씩 검색하면서 알아뒀던 알고리즘 정렬도 나와서 반갑긴 했는데, 알고리즘 별 시간복잡도와 펠린드 룸 알고리즘 같은 어떤 알고리즘에 대한 예시들, 알아둬야할 알고리즘이 좀 있다는 걸 알아서 관련해서 좀 학습을 해야할 듯 싶다.

유명한 알고리즘 펠린드 룸 같은,, 알아둔다면 코딩테스트에서도 그냥 수월하게 조립해서 사용할 수 있을 것이라고 생각이든다.

더보기

시간 자원과 시간 복잡도

시간자원

CPU 시간자원

메모리 시간자원

네트워크 시간자원

  • 타임아웃 Timeout

시간 복잡도

시간 복잡도 계산법

빅 오 표기법

  • O(1) 상수시간
  • O(n) 선형시간
  • O(log n) 로그시간
  • O(n^2) 다항시간
  • O(2^n) 지수시간

자료구조 별 시간 복잡도

알고리즘 별 시간 복잡도

  • 삽입정렬(Insertion Sort)
  • 선택정렬(Selection Sort)
  • 버블정렬(Bubble Sort)
  • 퀵 정렬(Quick Sort)
  • 병합정렬(Merge Sort)

시간자원의 한계

CPU 시간자원의 한계

  • 스케쥴링 알고리즘의 평가 기준

메모리 시간자원의 한계

  • N크기에 따른 허용 시간 복잡도

네트워크 시간자원의 한계

  • 커넥션
  • Timeout 오류

백준 세팅

CS강의에서도 알고리즘 별 시간복잡도가 프로그래머스보다 백준을 더 일정하다고 강의를 들었기도 해서 프로그래머스에서 백준으로 테스트 연습을 옮겨야 했다

 

대신 프로그래머스는 어떤 코드를 써도 return 값만 있다면 정답으로 인정을 해줬지만, 백준은 좀더 시간복잡도 면에서 타이트하게 검사하기때문에 .split()이나 Scanner 클래스도 전부 가장 빠른 연산을 위해 바꿔줘야하는 부분이 있다.

 

Article Study

아티클 스터디에 대한 내용은 하나씩 적기는 했지만, 이번 아티클은 특히 중요하다고 생각되어서 TIL에 한번더 정리

  • IT경향에서 AI 개발 회사의 플러그인 API가 상용화되면서 제휴의 역할이 커진다는 것
  • ChatGPT 및 Naver의 HyperCLOVA 역시 플러그인을 런칭, 각종 회사와 제휴를 본격적으로 맺기 시작하는 시장
  • 더불어 AI와 클라우드 관련 개발이 대두될 것 

이렇게 느낀바가 있다. 어쩔 수 없이 뒤에서 데이터를 처리하고 이리저리 연산하고 옮기느데에는 BE 개발이 필수적이라고 생각되었지만, 그만큼 새로운 클라우드, AI 지식, 개발 역량은 필연적으로 대두될 것이고 이를 대비하는 것도 내심 생각을 하고 있어야할 것.

 


오전에 부동산들 둘러보고 전화돌리고,,

난리도 그런 난리가 아니었는데 빨리 마무리가 되어서 미뤄진게 확정이 되어서 다행이다...

 

BUT 이미 짐을 싸기 위해 벌려놓은 이 상황을 무마하기 위해서는 이번 주말까지는 정리+청소를 동반하면서 공부를 할 계획!

 

추가로 백준의 문제들의 풀이는 개인 노션에 좀 셀프 풀이도 적어 넣으면서 공부를 하고, 블로그에는 필수 기억해야하는 것들을 위주로 기록하고 코멘트를 붙이는 형식으로 할 것이다