🖐️[크래프톤 정글] TIL - 240907
TIL이 1일 차에 끝나기는 아쉬울 것 같아서 오늘도 왔다. 어제와 동일하게 수면 전이니까 아직 나는 오늘이다. 항상 그렇게 믿는다.
요즘 정글에서 많은 사람들과 다양하게 소통을 하고 있다. 컴퓨터 구조에 대해서 박식한 분도 계시고 알고리즘, 자료구조, 수학, 글쓰기, 등 다양한 분야에서 대단한 분들이 많다.
이런 분들을 보고 있자면, 더 노력해야겠다는 생각이 절로 든다. 정글에 오기 전에는 하고 싶은 것들이 매우 많았는데 아직 따라가기 급급해서 하고 싶은 것들을 제대로 못하고 있는 게 아쉽다. 쓸모없이 낭비하는 시간을 아끼고 조금 더 공부에 집중할 수 있는 환경을 만드는 것에 집중해 봐야겠다.
오늘 오전에는 전 날에 학습했던 『Do it! 자료구조와 함께 배우는 알고리즘 입문』챕터 1, 2에 대해서 스터디를 진행했다.
이전 게시글에는 이렇게 일상을 적지 않아서(또는 2~4일 기록이 빠져서) 조금 첨언하자면 0주 차 프로젝트가 종료되고 진행되는 알고리즘 커리큘럼에서 1주 차 팀원들을 만났다. 알고리즘이 3주라는 시간 동안에 촉박하게 진행되는 과정이다 보니 스터디를 통해 공부하고 싶은 마음이 있었는데, 팀원들과 마음이 일치해서 스터디를 진행하게 됐다.
스터디 진행 방식에 대해서 의견을 나누고 있었는데 팀원 중에 한 분이 스터디 방식을 제안해 주셨다. 굉장히 흥미로운 진행 방식이어서 냅다 진행하자고 요청했다. 스터디 방식에 대해서 블로그에 작성해보고 싶은데 아직은 시기상조인 것 같아 참아본다.
제안해 주신 방식에 대해서 고민을 해보니까 내가 진행했던 스터디는 동일한 분량을 가지고 각자 공부하는 것이었구나 싶었다. 기회가 된다면 장기적으로 해당 방식을 가지고 스터디를 진행해보고 싶다. 또, 다른 다양한 스터디 방식들도 찾아봐야겠구나 싶다.
이와 별개로
다시 시점을 가져와서 오늘 스터디 분량 할당에 대한 조정을 주제로 토의했다. 어제 풀었던 알고리즘 9문제는 난이도가 어렵지 않아서 쉽게 풀 수 있었지만, 오늘 할당했던 알고리즘 문제들이 하나하나가 난이도가 있었기 때문이다. 과연 이게 크래프톤 정글의 의도와 부합할까?라는 생각이 들어서 분량 할당에 대해서 진지하게 고민해 봤다.
크래프톤 정글에 왔으니 전심을 다해서 해보자!
위와 같은 생각을 가지고 정글에 임하고 있었기 때문에 스터디는 반드시 하고 싶었다. 그러면 보자. 지금 스터디 할당량을 하향 조정하는 것은 전심을 다하지 않는 것일까?
스터디 첫날의 퇴근 시간은 익일 03시 34분이었다. 할당량은 50장 분량의 독서와 질문 정리, 알고리즘 9문제였다. 오늘 할당량도 비슷하게 40장 분량의 독서와 질문 정리, 알고리즘 9문제였다. 하지만 알고리즘 난이도가 상승함에 따라서 한 문제에 소요되는 시간이 증가했다. 또, 늦은 퇴근으로 인해서 앞으로 컨디션 저하가 우려되는 상황이었다.
전심이 아닌, 무리였다.
내 능력을 스스로 과신한 부분이 있었다고 생각한다. 첫 주차니까 그렇게 어렵지 않겠거니 막연하게 생각한 게 패착이었다. 오히려 단기간에 진행되는 일정이기 때문에 상세한 계획을 바탕으로 진행해야 하는 일이었다. 아, 우리 스터디는 오늘 중간에 관심을 보이는 다른 팀의 팀원분들이 합류해서 같이 진행하게 되었는데 그분들이 합류하고 나비 효과로 생긴 좋은 상황이었던 것 같다. 너무 늦게 되돌아보지 않아서 다행이다 싶었다.
앞으로 기간 동안 이와 비슷한 스터디를 계속 진행하게 될 것 같은데 좋은 방법이 무엇이 있을지 고민하게 되는 하루다. 열심히 찾아봐야지..
(상세 풀이 내용은 천천히 정리할 예정)
☑️ 골드바흐의 추측
🌄 짧은 후기
소수에 관련된 문제는 평소에 들었던 것들이 있어서 다행히 한 번의 시도로 풀 수 있었다. 소수는 2를 제외하고 짝수가 존재하지 않는 점. 골드바흐 파티션은 각자 골드바흐 수의 절반을 넘을 수 없다는 것을 명제로 삼아 풀 수 있었다. 오늘 굉장히 뿌듯한 기분을 느끼게 해준 친구.
☑️ 팩토리얼
🌄 짧은 후기
9월 5일에 팩토리얼에 대해서 생각할 수 있는 기회가 있어서 손쉽게 풀 수 있었다. 정글 코치님이 알고리즘 주차에 들어가기 전에 이야기를 해주셨는데 과정에서 '팩토리얼을 for문과 재귀함수로 풀어보실 수 있는 분'을 찾았기 때문에 내가 생각한 로직이 맞는지 검증했었기 때문이다. TMI이기는 하지만 한 분이 손들고 나가셔서 바로 푸셨는데 그 모습이 굉장히 멋있어 보였다.
☑️ 하노이 탑
🌄 짧은 후기
내가 정말 수포자여서 이해하는 것이 정말로 힘들었다. 처음에는 직접 이해하고 풀지는 못했고 책에 적혀 있는 내용을 이해하려고 노력했다. 어떻게 이러한 결과가 나올 수 있는지 재귀함수에 임의로 값을 대입해서 노트에 필기하면서 백준 예제와 비교하면서 풀었다. 관점을 바꿔서 생각하니까 쉽게 이해할 수 있어서 다행이었다.
덤으로 이 문제는 지금 내가 글을 작성할 수 있는 시간을 마련해 준 친구다. 풀다 보니까 오기가 생겨서 하노이 탑과 N-Queen을 풀어야겠다고 생각했는데 어쩌다 보니 이르게 끝낼 수 있어서 밀린 블로그 게시글을 작성하고 있다. ( N-Queen은 완전히 다 풀진 못했지만! )
☑️ N-Queen
🌄 짧은 후기
N-Queen 문제는 정글러 사이에서 굉장히 악명 높았다. 나도 아직 완전하게 풀지 못했다. 제한 시간이 10초인데, 내 코드로는 19초가 나와서 일요일에 한 번 다시 확인해야 할 문제다. 근데 이상하게 백준에서는 통과됐더라.. 제한 시간이 넘었는데...?
☑️ 수 정렬하기
🌄 짧은 후기
간단히 수를 오름차순으로 정렬하는 문제여서 별생각 없이 풀 수 있었다.
학습 도서 『Do it! 자료구조와 함께 배우는 알고리즘 입문』
🔖 Chapter 3. 검색 알고리즘
보초법(Sentinel method)
선형 검색 반복 시, 종료 조건 검사 비용 코스트를 줄일 수 있는 방법. 리스트의 맨 끝에 새로운 메모리 공간을 할당하고 검색하고자 하는 키 값을 할당해 준다. 이때의 값을 보초(Sentinel)라 한다. 보초를 통해서 선형 검색 종료 조건을 채울 수 있으므로, 판단 횟수를 줄일 수 있다.
이진 검색(Binary Search)
원소가 오름차순 혹은 내림차순으로 정렬된 배열에서 좀 더 효율적으로 검색할 수 있는 알고리즘이다.
복잡도(Complexity)
알고리즘의 성능을 객관적으로 평가하는 기준. 다음과 같이 2 가지로 나눈다.
- 시간 복잡도(Time Complexity)
- 실행에 필요한 시간을 평가한다
- 공간 복잡도(Space Complexity)
- 메모리와 파일 공간의 점유율을 평가한다.
해시법(Hashing)
'데이터를 저장할 위치 = 인덱스'를 간단한 연산으로 구하는 것을 의미한다. Key 값을 일정한 길이의 난수로 만들어 데이터에 접근할 때 해당 난수를 기준으로 접근한다. 키를 해시값으로 변환하는 과정을 해시 함수(Hash Function)이라고 한다.
'활동 > 크래프톤 정글' 카테고리의 다른 글
[TIL/크래프톤 정글] Day 9 (0) | 2024.09.11 |
---|---|
[TIL/크래프톤 정글] Day 8 (0) | 2024.09.09 |
[TIL/크래프톤 정글] Day 5 (2) | 2024.09.07 |
[크래프톤 정글] Day 1 (2) | 2024.09.06 |
크래프톤 정글 7기 합격 후기 (4) | 2024.08.29 |