안녕하세요 !
[SSA늘하다... FY수가 날아와 꽂힌다...]의 두 번째 에피소드 !
SSAFY 교육생들의 알고리즘 공부 !
로 찾아뵙게 되었습니다 !
SSAFY 교육 과정을 하면서도 교육생들끼리 알고리즘 스터디, CS 스터디, 각종 자격증 스터디 등 다양한 스터디를 병행하고 있습니다.
어? SSAFY 에서 다 알려주는거 아니었어? 왜 스터디를 따로 하지...?
당연히 SSAFY에서는 기초부터 응용까지 모두 알려줍니다!!
하지만!! 알고리즘 스터디를 따로 하는 이유는 SSAFY 안에서 배우는 학습량이 적어서가 아니라(오히려 아주 넘칩니다...) 다른 교육생의 코드를 참고해서 다른 방식의 풀이를 공유하는 시간을 갖기 위함입니다! 또한 학생들끼리의 학습 이해도가 천차만별로 다르기 때문에 스터디를 통해서 서로 가르쳐주기도 하고 이따금 지치는 동기들을 격려하기도 합니다.
그래서 제가 속해있는 스터디와 주변 스터디에서 하고 있는 알고리즘 학습 방향 및 방법을 소개해보고자 합니다.
알고리즘 스터디 교재
스터디마다 다르겠지만, 보통 알고리즘을 체계적으로 공부하기 위해 교재를 하나 정해서 목차에 따라 같이 진도를 나가게 됩니다. 물론 SSAFY 강의에서 필수적인 부분은 모두 가르쳐주지만, 강의 이후 추가적인 설명이 필요하거나 관련 문제가 어떤 것이 있는 지에 대해 도움을 받기 위해서 교재를 사용합니다. 밑의 세 교재는 스터디에서 사용되는 대표적인 교재입니다.
- Do it! 자료구조와 함께 배우는 알고리즘 입문 : 알고리즘 이론뿐만 아니라 자주 사용되고 반드시 알아야 하는 자료구조에 대한 설명이 추가적으로 있어서 알고리즘을 설계하는데 더 도움이 되는 교재입니다.
- Do it! 알고리즘 코딩테스트 : 알고리즘 이론이 수록되어 있으며, 유튜브에서 무료 강의가 제공되어 인기 있는 교재 중 하나입니다.
- 이것이 코딩 테스트다 : 자바 편은 없지만 자바 코드가 제공되며 베이스가 없는 사람들도 충분히 따라가기 쉬운 교재 중 하나입니다.
알고리즘 문제를 풀 수 있는 플랫폼
앞서 말했듯 SSAFY 커리큘럼 내의 알고리즘 수업에서 필수적인 자료구조와 이를 응용한 자주 사용되는 알고리즘 이론을 모두 알려줍니다. 하지만 하루 배우고 바로 완벽히 숙지되지는 않기 때문에 연습할 수 있는 다양한 문제들이 필요하고, 그래서 대표적으로 세 플랫폼을 이용해 배운 알고리즘 이론을 적용시키는 연습을 합니다.
- SW Expert Academy(SWEA) : 삼성에서 운영하는 알고리즘 사이트로 SSAFY 교육생이라면 모두 이곳을 이용해 문제를 풀게 됩니다. 반마다 그룹을 만들어 실습과 과제 문제를 풀기도 하고, 알고리즘과 관련한 이론을 학습할 수도 있습니다.
- Baekjoon Online Judge(BOJ) : 개발자라면 모르는 사람이 없을 정도로 유명한 알고리즘 트레이닝 사이트입니다. 2만 개가 넘는 예제 문제가 수록되어 있고, 70개 이상의 언어를 선택해 문제를 풀 수 있습니다. solved.ac과 백준 계정을 연동하게 되면 각 문제의 난이도와 개인 알고리즘 티어가 표시되어 알고리즘 문제를 푸는 데에 있어서 더 재미를 느낄 수 있습니다.
- Programmers : 프로그래머스도 유명한 알고리즘 트레이닝 사이트 중 하나입니다. 다수의 국내 대기업과 유명 IT 기업들이 프로그래머스를 이용해 코딩테스트를 보게 하며, 그래서 사이트 내에 카카오, 현대 등의 코딩테스트가 기출문제로 수록되어 있습니다.
나의 알고리즘 학습 방향
현재 저는 SSAFY에서 배운 알고리즘 이론을 SWEA를 통해 연습하고 있습니다. 알고리즘 스터디에서는 아래처럼 백준 1일 1문제를 풀고 있으며(풀기 위해 노력하고 있으며...) 스터디 그룹 게시판에 푼 문제에 대한 코드를 주석과 함께 게시하고 있습니다. 매일매일 풀었다는 인증도 할 수 있으면서 다른 스터디원의 풀이를 보면서 더 효율적인 풀이를 배워가고 있습니다.
세 달 전만 해도 코딩이 뭔지도 몰랐는데, 이렇게 백준과 solved.ac과 연동을 하게 되면 성장 그래프를 볼 수 있어서 재미를 붙이면서 공부할 수 있었습니다. 이번 추석을 통해 알고리즘을 전부 정리하는 시간을 갖고 문제도 열심히 풀어서 추석 이후엔 골드 티어를 꼭 달아보려고 합니다. 그래서 연휴 이후에 있을 SW 역량테스트에서도 좋은 결과가 있었으면 좋겠습니다.
만약 이 글을 보고 있는 분들 중 코딩이 처음이고, SSAFY 11기를 준비하고 계신다면 꼭 알고리즘은 공부하고 입과하셨으면 좋겠습니다. SSAFY 과정에서 알고리즘만 하는 것이 아니기 때문에 입과 전부터 공부를 하고 온다면 적응하는데 더 도움이 될 것입니다.
위 기사의 내용은 SSAFY 보안서약서 기반으로 작성되었으며, 개인적인 의견이 반영되었습니다.
만약 문제가 있는 경우, 임의로 수정 및 삭제가 될 수 있습니다.