빡코

알고리즘에 대하여 본문

Algorithm

알고리즘에 대하여

chris.djang 2020. 1. 2. 09:46

알고리즘을 공부방법을 생각하며 고려한점은?

1. 스터디 효율을 극대화 할 수 있는 방법은(물리적, 시간적 제한성)? 

2. 왜 굳이 만나서 우리는 스터디를 해야하는가? 시간 낭비하지 않기 위해서는?  

 

*수준차가 있으니 기초는 개인이 다져야 하고, 

* 만났을 때는 숙제 피드백 + 실제 코딩하며 피드백 주고 받기 

 

알고리즘을 공부해야 하는 이유!

1. 장기적인 관점에서 코더가 아닌 개발자가 되기 위해서. 

2. 국내대기업 IT 코딩테스트 및 외국계 IT 취업 준비 

+문제해결능력 향상은 덤이죠.

 

목표 레벨은?
코드포스 -블루레벨: 국내 대기업 코테 레벨 기준
삼성코딩 역량테스트 B형 정도 

 

공부순서?

순서1: 기초틀 파기

-기본문법을 마스터하기(자신의 원하는 언어를 가지고)

-동영상강의: 동빈나, 인프론)

 

순서2: 백준 알고리즘 문제유형별 50개씩 + 문제집 풀기

-문제 유형 파악 
1)그리디 알고리즘으로 시작하기 
2)탐색알고리즘: 완전탐색, BES, DFS 부분 공부하기
3)기본 동적 프로그램 
4) 그래프이론, 중급 및 고급 동적 프로그래밍, 문자열

 

순서3: 실전 문제 풀기 삼성, 카카오 코딩테스트로 문제 풀기 

 

공채 알고리즘 사이트 정리!! 

유리한 언어: Python or C++ 난 자바로.

 

스터디 방법

1)모임 일정:

-주1회  or  주2회(시험 임박시)
-만나서 스크럼 회의(10분의 회의) 진행
-자신의 공부 진도와 한 일 및 다음 계획에 대한 공유를 10분 안에 진행
-직접 만나서 서로의 풀이에 대한 피드백 후 좋은 풀이에 대한 분석 진행

 

2)모임 규칙
개인
이론 정리
-각자가 정한 범위의 알고리즘 이론에 대한 내용을 간단히 정리한다.
-EX) 개발 블로그 이용, 간단히 메모하는 정도 등 각자의 방식에 따라

문제 풀이
알고리즘 사이트 하나(위의 알고리즘 사이트 모음 참고)를 정한다.
각자가 해당 범위의 알고리즘과 관련된 동일한 알고리즘 문제를 푼다.
각자가 푼 문제에 대한 자신의 코드를 공유한다.(블로그, or Git)

-회고
상대방의 코드에 대한 피드백을 적는다.
상대방의 코드에 대한 피드백(주석)을 달아 github에 올린다.
자신의 코드에 대한 피드백을 확인하고 해당 문제에 대한 좋은 예제를 찾아 분석한다.
자신의 코드를 수정하여 다시 gitHub에 올린다.

 

스터디 모임
이론 정리 피드백
-자신이 정리한 내용을 간단하게 공유한다.
문제 풀이 피드백
-왜 그렇게 피드백을 주었는지, 그 피드백을 어떻게 수정해서 반영했는지를 공유한다.
-좋은 코드에 대한 분석을 공유
-해당 문제를 푸는 좋은 방법에 대해 공유한다.

 

 

참조 사이트

-인강 사이트

https://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B0%95%EC%A2%8C/  //인프론 알고 강의 

https://www.youtube.com/watch?v=qQ5iLNjpxSk //동빈나 알고강의 

 

참조 블로그

https://blog.yena.io/studynote/2018/11/14/Algorithm-Basic.html

https://brunch.co.kr/@imagineer/105

https://sunnykwak.tistory.com/86

https://gmlwjd9405.github.io/2018/05/14/how-to-study-algorithms.html

 

참고도서

  • 처음부터 어려운 걸 하려고 하지 말고, 간단한 것부터 시작하자.

  • 선택한 언어의 문법과 클래스를 잘 파악하자.

  • 풀고 난 후 다른 사람의 풀이 참고하자.

  • 경험이 쌓이면 익숙해진다. 조급해하지 말자. 졸꾸!