알고리즘 공부 방향

송수용·2022년 5월 14일
0

알고리즘

목록 보기
2/11
post-thumbnail

알고리즘 2일차 회고

알고리즘 지옥주가 시작되고 2일차를 맞았다.
어제 진행했던 문제풀이와 책의 내용 등 많은 것들을 오랜 시간동안 들여다 보았음에도 불구하고
소화해내지 못했다.

여러가지로 벽이 느껴지기도 했고, 숨이 막혔다.
어떻게 문제를 접근하면 좋을까? 를 꽤 오랜 시간동안 고민했다.
문제를 풀고 싶어도 풀 수 없는 상황이 정말 답답했다.

구글링에 접근 방법을 검색을 해도 어떤 문제에 대한 풀이접근 방식만 나올 뿐이었다.
알고리즘 주에는 돌아가며 맡은 문제에 대한 풀이와 어떻게 문제를 해결했는지에 대한 내용들을
발표하는 시간이 있다.

여섯 분의 발표를 들으면서 정말 많은 생각을 했다.
저 분들은 어떻게 문제를 해결하려고 했을까.. 궁금했다.

오늘도 거의 검색하는데에 시간을 할애했다. 그러다 잠깐 멍때리고 집중이 안되길래
유튜브를 켰다.

손흥민 21호 골 보다가 감동에 젖어 있는데 유튜브에 검색은 될까 싶었다.

알고리즘 접근 방법을 검색했더니 유튜브 알고리즘에 의해 발견된 알고리즘 채널이 보였다.
처음 본 내용은 이거다. (두번째 내용은 이어서 -> )

코딩테스트에서 떨어질 수 밖에 없는 이유가 궁금했다.
실패한다는 것은 잘못된 방향과도 관련이 있기 때문에 호기심이 생겼다.

내용을 보면서 한 번 보다가 필기를 했다.

5분 영상의 내용을 정리해보면

공부 접근 방법

  • 기본 문법은 짧은 시간을 할애할 것 (코드업 100제, 백준 1-9단계)
  • 자료구조와 알고리즘
  • 처음부터 순서대로 풀려고 하지 말것

=> 코딩테스트는 = 문제은행식 => 유형이 정해져 있다.

우선순위! 선택과 집중!

  • 기본 = 완전탐색 ,정렬, 스택/큐, 해시, DFS/BFS
  • 기본이 끝나면 탐욕법, 이분 탐색

백준 기준

  • 자료구조, 브루트포스, 정렬, DFS/BFS, 그리디, 이분탐색 순

특정 유형에서 막힌다면 해당 강의를 찾아볼 것.

문제를 푼다의 의미는 2가지
1. 풀이를 떠올린다. = 사고의 힘
2. 풀이를 구현한다. = 코딩 능력

코딩 = 문제풀이에 할애한 시간에 비례해서 실력이 올라감.
알고리즘을 전혀 모르는 사람도 2,3달동안 꾸준히 하면 기계적으로 하게된다고 함.

사고의 힘 = 문제를 풀거나 해결하고 끝이 아니라, 어떻게 이 과정을 도출했는지,
어떤 부분에서 막혔는지, 다음에는 어떻게 풀수 있는지, 이건 왜 쓰였는지, 어떻게하면 개선할 수 있을지 등의 고민하는 시간이 충분히 있어야만 기를 수 있다.

조합의 경우의 수를 구하라 문제를 보고
아~ 경우의 수 -> 해시 로 풀어야겠구나! 라는 자신만의 알고리즘 노트를 작성할 것.

  • 풀이를 기반으로 하는 면접을 보는 회사가 늘어나는 추세이다.
  • 단순히 코딩을 잘하는 코더와 생각하는 힘을 갖춘 프로그래머를 구분한다.
  • 코딩 자체에 몰두하기 보다는 30분 정도는 해당 문제에 대한 더 깊은 이해 해보기를 권장함.

정리
1. 기본 문법은 최소한으로
2. 자료구조/알고리즘도 우선순위를 정하자
3. 스스로 생각하는 힘을 기르자

자세한 내용은 유튜브에서 회고하겠습니다.

profile
#공부중 #협업 #소통중시 #백엔드개발자 #능동적 #워커홀릭 #스파르타코딩 #항해99 #미니튜터 #Nudge #ENTJ #브레인스토밍 #아이디어뱅크

0개의 댓글