코딩일지/TIL: Today I Learned

20220919 TIL

야언 2022. 9. 19. 19:49

오늘의 한 일

  • 자료구조, 알고리즘 강의 - 1~3주차 
  • 백준 알고리즘 문제 풀이 및 정리 - 재귀, 브루트 포스 

 

 

자료구조, 알고리즘 강의 1~3주차

 

 

** 시간 복잡도, 공간 복잡도

** 어레이와 링크드 리스트, 클래스를 이용한 링크드 리스트 구현

** 재귀 함수

** 정렬 (버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬)

** 스택, 큐

** 해쉬

 

자료구조 알고리즘 카테고리 정리 예정.

이걸 먼저 듣고 백준문제를 풀었어야 했는데! 재귀 함수에 대해 이해하기 쉽게 설명해주어 영양가 높은 강의였다. 

백준 문제풀이를 하면서 신경쓰였던 시간초과 부분에 관해서도 시간 복잡도에 대한 설명을 통해 어떤 식으로 시간을 줄여나가야 할지 이해하는데 큰 도움이 됐다.

클래스의 이용 방법도 특강만 들었을때는 어떻게 쓰일지 도저히 감이 잡히질 않았는데 이를 이용한 링크드 리스트 예시를 보며 감을 잡게 됐다.

 

 

 

 

 

 

 

백준 알고리즘 문제 풀이 및 정리 - 재귀, 브루트 포스

 

 

 

 

** 브루트 포스 - 검색 대상이 되는 원본 문자열의 처음부터 끝까지 순회하며 문자들을 일일이 분석하는 방식의 고지식한(무식한) 알고리즘

 

자료구조와 알고리즘 강의를 듣고 재귀함수 문제를 다시 복습해보니 머리에 바로바로 들어오지 않던 것들이 테트리스 맞아떨어지듯이 해결되는 기분을 맛볼 수 있었다. 바로 이어서 브루트 포스로 진입.

이름답게 짐승처럼 반복문을 마구잡이로 돌려가며 푸는 문제들이라 전체적으로 난이도가 높진 않았다. 그래도 1018번 체스판 문제는 제대로 된 복습이 필요할듯!