스터디/코테

1주차 스터디

누룽지맛치킨 2023. 2. 6. 00:24

개인 문제 풀이

  • 배열
    • 상대적으로 매우 쉬운 난이도
    • Arrays를 사용하여 배열 정보를 좀 더 쉽게 다룰 수 있었음
  • 연결 리스트
    • 오랜만에 다시 봐서 헷갈렸던 부분을 문제를 풀면서 다시 생각할 수 있었음
    • Collection으로 주어진 LinkedList를 사용한 문제 풀이는 직접 구현한 것 보다 시간이 더 오래 소요
  • 스택
    • 백준을 풀면서 많이 접하였기 때문에 쉬운 난이도
    • 큐를 공부하면서 덱을 같이 공부할 수 있었음

스터디 문제 풀이

  • 스택 오큰 수 문제 함께 풀이
    • 연결리스트를 이용하여 스택을 구현한 스터디 원의 구현 방법이 인상적
    • 최대한 빠르게 풀기 위해서 코드의 구조를 생각하기 보다는 빠르게 푸는 것이 목적이었음
    • 다른 사람이 클래스와 함수를 구현하여 예쁘게 코드를 작성한 것을 보고 클린 코드도 고려해봐야겠다는 생각을 함

스터디 세미나

  • 그래프
    • 인접 행렬
    • 연결 리스트
    • 그래프의 개념과 구현 방법의 장단점에 대해 집중적으로 공부할 수 있었음
  • 트리
    • 전 트리, 완전 이진트리, 포화 트리의 개념을 익힘
    • 순회의 개념을 다시 한번 복습함
    • 내가 세미나를 진행함
    • 우선순위 큐를 구현할 때 가장 시간 복잡도가 안정적이어서 삽입 삭제가 모두 필요 시 힙 정렬을 사용하는 것이 맞다고 판단
  • 해시 테이블
    • 해시 함수
    • 해시 함수의 충돌이 가장 큰 문제라는 것을 알게됨
    • 해결법은 다양하나 기본적으로 체이닝과 개방 주소법이 있다는 것을 알게 됨

느낀 점

  • 문제를 풀이하면서 빠르게 펼려고만 한 것 같음
  • 문제를 풀 때 왜 이 자료구조와 알고리즘을 사용해야하는지 명확한 이유를 파악하는 것이 중요할 것 같다고 느낌