알고리즘 첫걸음

Keun·2022년 3월 13일
0

인생 첫 알고리즘 공부 (with python)

공부법

03/11/2022 - 03/13/2022

깜짝 놀랐다. 문제는 쉽게 보이나, 풀이는 기본 2시간이 넘어간다. 첫날 총 4문제를 보았는데 그중에서 1문제에서 2문제 풀까말까였고, 너무 어려웠다. 알고리즘은 대학생활때 들어보긴 CS와 programming 수업시간에 들어보긴 하였다. 그러나 이렇게 본격적으로 공부해본적은 처음이다. 그것도 파이썬으로. 알고리즘을 공부한지 이틀밖에 되지 않았지만, 한문제도 제대로 풀지 못하는 내가 깨달은 목표와 공부법은 다음과 같다.

1. 시간을 오래끌지말것.
어차피 내 머리는 비어있다. 일정한 시간을 설정해두고, 그 안에 풀지 못할경우 구글링을 하거나 답안지를 보는 것을 주저하지말아야 하는것 같다. 머리에 채워놓고 익숙해지고, 그것을 바탕으로 다음문제에 응용하는 머리를 만드는 것이다.

2. 파이썬 문법을 동시에 숙지할것.
사실 파이썬을 잘 모른다. 그래서그런지 아무것도 모르는 알고리즘을 공부하기가 살짝 힘들다. 하지만, 파이썬의 장점은 빠르게 배우는 것에 있다. 사실 프로그래밍 언어들은 비슷비슷한데, 파이썬은 직관적이기 때문에 조금더 빠르게 배울수 있는 것 같다.

3. 기본적인 알고리즘을 풀이를 위한 문법을 머리에 넣기.
문제를 아직 많이 풀어보진 않았지만, 필수적으로 많이쓰는 문법들이 있었다. 예를들어, 리스트, 딕셔너리, for문은 당연히 많이쓰고, 재귀함수, 변수 초기화할시 바꿔주는 방법 (파이썬은 쉬웠다) 등등. 이틀밖에 안해봤는데 이정도로 많이봤다는 것은 굉장히 유용하다는 것이다. 반드시 머리에 넣자.

4. 효율성을 따지자.
강의도 들어보고, 책도 보고, 코딩테스트를 준비하는 사이트에 들어가보니까, for문을 두개써야 한다는 생각이 들때 반드시, '뭔가 잘못되고있다" 라고 생각하라고 한다. for문을 두번이상 쓸경우 시간복잡도가 올라가고 비효율적으로 변하고 있다는 뜻이라 한다. 되도록이면 for문을 안쓰는 방향으로 생각해야한다. 그러기위해서는 알고리즘 이론, 효율적인 파이썬 문법들을 깨우쳐야 할 것 같다.

0개의 댓글