[Programmers] 코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디 후기

서준교·2022년 6월 20일
0
post-thumbnail

4월 27일부터 5월 25일까지 프로그래머스에서 주관한 코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디 9기 참여 후기입니다.

🚀 스터디 참가 계기

저는 이제 곧 2년차가 되어가는 개발자입니다. 사실 알고리즘이나 자료구조는 컴퓨터공학을 전공한 개발자라면 대부분 그 필요성과 중요성에 대해서 뼛속깊이 알고 있을 것입니다. 졸업 프로젝트나 연구를 진행할 때에도 이를 기반으로 한 최적화를 통해 중요성을 체득했음에도 불구하고, 취업 후에는 오히려 이러한 근본적인 CS에 다소 소홀했었다는 것을 문득 깨닫게 되었습니다. 이를 어떻게 하면 다시 보완할 수 있을지 고민하다가, 프로그래머스에서 주관하는 알고리즘 스터디를 우연히 발견하게 되었고, 초심으로 돌아가 기초를 다지면서 이를 실무 역량 향상으로 끌어올릴 수 있는 계기를 마련하고자 스터디에 참여하게 되었습니다.

💻 스터디 진행 방식

스터디는 매주 수요일 저녁 8시에 Zoom을 통한 온라인 강의 형식으로 진행되었습니다. 시작 후 10분간은 스터디에 적극적으로 참여했던 사람들에 대한 시상이 이루어졌고, 그 뒤에는 리더님의 알고리즘 문제 풀이 (라이브 코딩)가 진행되었습니다. 문제가 쉽거나 무난했던 경우에는 40~50분, 어려웠던 경우에는 거의 2시간 넘게 라이브 코딩이 진행되었습니다. 풀이 중간중간에 리더님께서 질문에 대한 피드백도 적극적으로 진행해주셔서 확실히 빠르게 이해가 된다는 느낌을 받았습니다.
또한, 프로그래머스 스쿨 사이트에서 학습 자료와 pythonic하게 코드를 작성하는 방법 등 실무에도 도움이 될 만한 여러 꿀팁들을 제공해주기 때문에 흥미를 갖고 꾸준히 공부를 해나갈 수 있었습니다.
학습 자료
또한, Github를 통해 풀이한 문제에 대한 Pull & Request를 보내고, 리더님이 코드 리뷰를 작성해주시면 해당 내용을 바탕으로 코드를 개선한 뒤, 개선된 코드를 다시 Merge하는 방식으로 과제를 수행하였습니다. 코드 리뷰는 리더님 뿐만 아니라 스터디원들끼리도 작성이 가능했기 때문에, 굉장히 활발하게 진행된다는 것을 느꼈습니다.

저 또한 위와 같이 다른 분들의 코드 리뷰에 적극적으로 참여하였습니다. 리뷰에 참여하는 과정에서 보다 양질의 내용을 전달하기 위해 관련 내용을 조사하면서 조금씩 성장하고 있다는 것을 체감할 수 있었습니다. 한 달이라는 짧은 시간동안 타이트하게 스터디가 진행되다 보니 과제도, 공부해야 할 것도 많았지만, 리더님과 매니저님이 잘 이끌어주셔서 무사히 완주할 수 있었습니다.

🔍 무엇을 배웠는가?

나름 python을 오랜 시간동안 사용해왔고, 또 어느정도 자신있다고 느껴왔었지만 해당 스터디를 통해서 굉장히 유익한 내용들을 많이 배울 수 있었습니다.

  • 꼬리 재귀(Tail Recursion)의 개념 (python은 꼬리 재귀 최적화가 지원되지 않기 때문에 재귀 함수를 사용할 경우 효율이 좋지 않다.)
  • List Comprehension을 활용하여 pythonic하게 코드를 구현하는 방법
    for key, val in row_dict.items():
    	if val == n:
      	answer += 1
    # list comprehension 적용
    answer += len([key for key, val in row_dict.items() if val == n])
  • 터미널에서 Pull & Request 보내는 방법, Pull & Request 후 Merge 및 Revert하는 방법

이외에도 여러 읽을 거리를 통해서 그동안 소홀했다고 느꼈던 알고리즘과 자료구조에 대한 전반적인 지식 또한 다시 보충할 수 있었습니다. 개발자로서 놓치고 있었던 부분이 생각보다 많았다는 것을 반성하게 되었고, 이를 계기로 더 훌륭한 개발자로 성장해 나가기 위해 부단히 공부하고, 노력해야겠다는 생각을 하게 되었습니다.

profile
매일 성장하는 개발자가 되고 싶습니다. 😊

0개의 댓글