본문 바로가기
컴퓨터/알고리즘

알고리즘 공부, 코테 스터디 하는 법 공유!!

by 우유식빵 2021. 8. 26.

- 알고리즘 문제 풀이 순서, 공부 방법 (1) - 비전공자/문제풀이 처음: https://waytocse.tistory.com/114

- 알고리즘 문제 풀이 순서, 공부 방법 (2) - 전공자/문제풀이 초보: https://waytocse.tistory.com/115

아래에서 다루는 것은 위에 다루는 내용도 일부 포함되어있고 다른점은 3번!입니다 :)


목차

1. 알고리즘 공부 사이트

2. 알고리즘 공부 시작 하는 법

3. 코테 공부 / 스터디 하는 법 공유


1. 알고리즘 공부 사이트


보통 알고리즘을 공부할 때 백준(https://www.acmicpc.net/), 프로그래머스(https://programmers.co.kr/)를 많이 이용합니다.

삼성 역량테스트에 관심있는 분들은 SW Expert Academy(https://swexpertacademy.com/main/main.do)를 이용하기도 합니다.

ICPC같은 코딩대회에 관심있는 분들은 리트코드(https://leetcode.com/problemset/all/?page=1)나 코드포스(https://codeforces.com/)에서 영어 문제로 문제를 연습하기도합니다. 

 

처음 시작하는 분들에게는 백준에서 하는 것을 추천합니다.

 

 

2. 알고리즘 공부 시작하는 법 


제가 여기서 말하는 알고리즘은 학교 수업을 위하거나 학문적으로 목적이있는 알고리즘 공부가 아니라

코딩테스트를 목적으로하는 공부를 의미합니다!

 

 

알고리즘 종류가 정말 많은 데 이걸 다 익히고 공부하는 것은 쉽지 않다고 생각합니다.

그래서 저는 1. 깊이/너비 우선탐색, 2. 탐욕법, 3. 동적계획법 이렇게 3가지로 큰 틀을 잡고 공부했습니다.

 

 

그리고 각 알고리즘 분류에 따른 문제를 풀기 전에 따로 알고리즘 공부를 안하고 

쉬운 문제를 풀어본 후, 안 풀릴 때부터 google에 해당 분류를 검색하고 익히는 순으로 공부했습니다.

 

 

각 알고리즘 분류에 따른 문제는 

백준의 경우 문제>알고리즘 분류 에 들어가서 원하는 알고리즘에 들어가 찾아서 공부했습니다.

 

 

https://www.acmicpc.net/problem/tags 이 주소로 들어가시거나 아래 스크린샷처럼 접근하실 경우

 

문제 > 알고리즘 분류

 

아래 스크린샷 처럼 분류된 목록을 확인 할 수 있습니다. 

 

프로그래머스의 경우 코딩테스트 연습 > 코딩테스트 고득점 Kit 로 이동하거나 아래 주소로 들어가면

https://programmers.co.kr/learn/challenges?tab=algorithm_practice_kit

 

아래 스크린샷처럼 분류된 문제들을 풀 수 있습니다. 하지만 대표적인 문제들만 간추린 것으로 문제 양이 적으니 감을 잡는 용으로만 풀어볼 수 있을 것 같습니다. 

코딩테스트 연습 > 코딩테스트 고득점 Kit

 

 

단순히 알고리즘이 아닌 코테 문제풀이를 시도/연습 해보고 싶으신 분은 백준에서 문제 > 단계별로 풀어보기(https://www.acmicpc.net/step) 를 이용하시면 됩니다!

 

단계별로 풀어보기에서는 적당히 25단계까지만 진행해도 충분하다고 생각해요!

25단계까지 진행한 단계별 풀어보기

 

3. 코테 공부 / 스터디 하는 법 공유


이제 제가 가장 공유해드리고 싶은 하이라이트입니다. 

 

코딩테스트 연습은 꾸준한 노력이 필요합니다.

 

한 문제를 푸는데 시간이 오래걸리는 경우도 있고 꾸준히 안한다면 감을 잃기 쉽습니다.

 

그래서 계속해서 코딩테스트 문제를 풀수 있도록 해주는 원동력이 필요하다고 생각했습니다.

 

그러다 친구의 도움으로 구글 스프레드 시트를 이용한 공부를 해보게 되었고 

 

꽤 유용하다고 판단하여 이를 확장하여 스터디로 이용할 수 있는 방법을 생각했습니다. (밑에 파일 공유도 했습니다 :)

 

 

포도농사 스터디입니다.

 

 

왜 포도농사냐 하면, Github에 잔디를 심는 것처럼 문제를 푼 날에 포도알을 심는 것이기 때문입니다.

다음 스크린샷은 농사 시트입니다.

농사 시트

그래서 스터디원은 농부라고 부를 수 있습니다. 

포도알 심기를 통해 매달 전반적인 코테 연습 현황을 살필 수 있습니다. 

다른 사람들의 코테 농사 현황을 보면서 동기로 삼을 수도 있습니다!

 

 

하지만 이것만으로는 충분한 동기를 끌어 낼 수 없습니다.

 

아래 스크린샷은 사유서 시트입니다. 매일 자정 농사를 짓지 않은 농부에게는 X표가 붙습니다.

또는 자신이 농사를 못 짓는다고 판단 될시 사유를 적을 수 있습니다.

사유서 시트

이를 통해 스터디마다 농부 퇴출 기준을 정하면 퇴출 당하지 않기 위해서 반 강제적으로 해야한다는 생각이 들게됩니다...!!!

제 경우 일주일에 4일 이상 문제를 풀지 않으면 퇴출(구글 문서 공유에서 삭제)되는 형식으로 진행했습니다.

 

마지막으로 개인 기록장입니다.

기록장 시트

기록장에 문제를 푼 일자와 문제 이름, 알고리즘 분류, 난이도, 링크, 걸린시간을 적으면 됩니다.

적힌 알고리즘 분류대로 오른쪽에 분류항목에서 카운트 됩니다. 분류항목은 개인의 선호대로 수정하거나 추가할 수 있습니다.

 

카운팅된 분류를 보면서 어떤 종류의 문제를 얼마만큼 풀었는지 확인 할 수 있습니다.

난이도를 보면서 어떤 난이도를 풀어왔는지 확인하고 해당 난이도에서 걸린시간이 얼마인지, 추후 발전 양상도 확인할 수 있습니다.

 

링크는 문제링크이며, 다른 사람이 푼 문제가 궁금할 경우나 본인이 풀었던 문제를 복습을 하고싶은 경우 이용할 수 있습니다!

아래 스크린샷은 스터디원분들중 한분!

스터디원중 한 분의 기록장

 

이런식으로 진행하면 스터디하기 수월하답니다.

 

 

 

다음 게시글에서 해당 파일과 구글 드라이브를 이용한 스터디 세팅하는 법을 설명했습니다 :)

필요하신 분들은 참고하시면 좋을 것 같습니다!!

https://waytocse.tistory.com/43

 

알고리즘(코테) 스터디 [포도농사] 파일 공유 및 사용법

지난 게시글에서 알고리즘(코테) 공부법을 소개해 드렸습니다. 이번에는 지난 게시글에서 소개해드린 포도농사 스터디법에 사용된 양식을 공유하고자 합니다. 아래는 엑셀 파일입니다. 이 파일

waytocse.tistory.com

 

댓글