ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 알고리즘 스터디 시작하기(직접 운영해보고 얻은 꿀팁 공유!)
    카테고리 없음 2024. 7. 17. 10:43




    목차

    1. 알고리즘 스터디 하는 이유
    2. 목표 정하기
    3. 팀 빌딩하기
    4. 환경 설정하기
    5. 스터디 진행 방식 정하기
    6. 유용한 도구 활용하기

     





     

    1. ❓알고리즘 스터디 하는 이유

     

    • 코딩 테스트에서 합격하려면, 테스트와 비슷한 환경에서 연습하는 것이 효과적이다.
    • 비슷한 팀원끼리 모여서 서로 선의의 경쟁을 하면서 학습 시너지를 낼 수 있다.
    • 특히, 삼성A, B형은 각각 180분, 240분에 한 문제를 푸는 시험으로, 긴 호흡동안 집중력을 잃지 않고 문제를 푸는 연습이 필요하다.
    • 9 to 6로 회사에 다니고 있거나 혹은 부트캠프 같은 교육을 듣는 다면, 따로 홀로 시간을 내어 알고리즘 문제풀이를 연습하는 것이 쉽지 않다.


     

     

    2. 🎯 목표 정하기


    • 단순히 백준 ~티어 달성 ❌
      • 백준의 경우 티어를 올리는 경로가 다양해서 학습 성취도와 크게 관련이 없음.
    • 좀 더 구체적인 목표가 좋다.
    • 예를들어
      • 6개월 이내에 삼성역량테스트B형 취득하기
      • 16주 내에 프로그래머스의 PCCP 시험에서 스터디원 모두가 응시해서 LV2이상을 취득하기.
      • 16주 내에 백준의 랭크 사이트 https://solved.ac/class에서 Class 3++을 달성하기. ( 강추 )
      • SWEA에서 D2부터 D4까지 모든 문제 풀기.

     

     



    3. 🧑‍🤝‍🧑팀 빌딩하기


    • 프로그래머스의 커뮤니티 페이지나, 단톡방, 인프런의 커뮤니티 스터디 페이지에서 모집 글을 업로드한다.
    • 이를테면 스터디 모집 페이지를 노션으로 정리해서 소통방에 공유하거나, 그냥 같은 층에서 발품 팔아서 비슷한 수준의 팀원을 모은다.
    • 여기서 중요한 점은 팀 구성원간 실력차이가 너무 많이 나선 안된다. ( 알고리즘 스터디가 아니라, 알고리즘 티칭..이 될 수 있다. )
      • 예를들어 팀원A는 골드5정도로 알고리즘풀이를 최소 4~6개월 연습했는데, 해당 팀원과 입문자가 동일한 문제를 풀면서 스터디를 진행하는 것은 불가능하다.
      • 가능하다면 동일한 언어에, 풀이 경력의 차이가 3개월 이내인 경우가 적합하다.
    • 열정적인 팀원을 잘 골라야 한다. 그냥 강제성에만 기대고자 하는 사람은 힘들어서 탈주한다. ( 3개월 이상의 스터디에서 목표 달성 전까지 1/4이상의 팀원들이 매우 높은 확률로 탈주하기에.. 이를 유의하자)






    4. 🌏 환경 설정하기


    • 알고리즘 스터디에는 다양한 환경 설정 방식이 존재한다.
    • 그러나, 이는 개인 및 팀의 성향에 맞게 진행하는 것이 가장 좋다.
    • 입문자의 경우
      • 깃허브같은 원격 레포지토리와 연동하여 코드를 각자 올리고 버전관리하는 방식 ❌ (대면이어서 어짜피 크게 의미없다.)
      • 각자 IDE(vscode, Clion, online debugger,,,,,, )에 풀고 코드는 본인이 로컬에 저장을 하거나, 자기 깃허브에 알아서 push한다
      • 알고리즘도 풀고 깃허브에 잔디도 심고싶다면, 크롬 확장 프로그램의 백준허브 자동커밋기능
      • https://chromewebstore.google.com/detail/백준허브baekjoonhub/ccammcjdkpgjmcpijpahlehmapgmphmk?hl=ko를 활용해본다.






    5. 스터디 진행 방식 정하기


    • 주 2~3회가 적당하다 ( 스터디를 진행하면 알게된다. 예습이나 복습이 절실해질것임 )
    • 우선 가장 중요한 원칙은 정해진 시간내에, 정해진 문제를 푸는 것이다.
      • 문제는 방장이 문제집을 참고해서 고르면 되는데 → 적응 기간 동안은 20반 손민우에게 맡기면 된다..
    • 장소는 4명이 어딘가에서 2~3시간 정도의 시간동안 각자 문제풀고 모여서 풀이 진행할 수 있는 장소면 어디든 가능하다. (인근 스터디 카페, 공유 오피스, 카페 등..)
    • 시험을 연습하는 것이기에 당연히 잡담, 질문, 컨닝(?) 안되고 스스로 힘으로 풀어야 한다.
    • 여기서 팁은. 도저히 30분을 넘겨서 고민해도 문제가 이해가 안되거나 코드를 작성하기 어렵다면,
      • 유튜브에 해당 문제 풀이 영상을 먼저 찾아본다. 찾으면 이어폰 연결해서 절반 듣고 다시 풀어본다.
      • 생성형 ai에게 문제를 긁어서 물어본다. 다만 무작정 다 풀어달라고 하지말고, 힌트를 제시하라는 프롬프트를 입력한다.
        • “이를테면, ㅇㅇ문제를 풀 고 있는데, 접근이 어렵다. 문제의 접근 방식을 힌트 형태로, 코드를 제시하지 않고 주석만 적어서 보여달라.”
    • 문제 푸는 시간이 끝나면, 모여서 바로 추첨을 진행한다. ( 네이버 사다리를 타도 되고, 슬랙, 디스코드의 랜덤추첨 봇 써드파티 앱을 검색해서 활용 )
      • 당첨된 사람은 바로 코드를 같은 노트북으로 보거나, 화면공유를 하고 ( zep이나 zoom 등등.. ) 풀이를 시작한다.
        • 문제 지문을 간단히 해설 요약
        • 문제에 대한 본인의 감상(구체적으로. 나는 이 문제가 이러이러했다 등등.. )
        • 본인의 풀이 ( 못풀었다면 못 푼데 까지 )를 본인이 아는만큼 다 설명한다.
        • 이후부터는, 자유롭게 진행한다. ( 정말 여러가지로 응용이 가능한데, 이건 스터디를 계속 해보면서 구성원 모두가 잘 맞는 방식을 찾아가자 )






    6. 유용한 도구들 활용하기

    • 우선 각자 IDE의 디버그 기능을 숙지할 것.
      • 코드의 동작을 결국에는 실행 단위로 설명해야 팀원들이 본인의 코드를 보고 100% 이해할 수 있기때문이다. ( 함수 호출, 값 변경, 루프의 동작 등… )
      • 유튜브에 VSCODE 디버깅 하는법 ← 이런 키워드로 검색해서 찾아본다. 안나오면 영어로.
    • chatGPT, Claude, Gemini등등 써도 좋다. 특히 스터디가 끝나고 자율적으로 각자의 코드를 좀 최적화 해보겠다는 용도로 적극 추천.
    • 유명한 문제들은 대부분 온라인 강의가 있을 것이다. 도저히 팀원에게 설명하기 어렵다면 이런 강의들을 복습 때 참고하자.
    • solved.ac사이트에 가면 백준사이트의 문제 분류, 질 좋은 문제들이 잘 정리되어 있어서 이를 참고.

    댓글

Designed by Tistory.