Weekly I Learned/2022's(7. ~ 12.) WIL

2022년 8월 2주차(8/8 ~ 8/12) Weekly I Learned "학습 악재(?)가 많았던 한 주"

ikjo 2022. 8. 15. 04:40

지난 한 주 되돌아보기

이번 한 주에는 학습하는데 다소 악재(?)가 많았던 것 같다. 우선 갑작스런 수도권 폭우로 인해 나의 방에 많은 빗물이 새버려 💦 이를 수습하기 바뻤고 가족 내 코로나 확진자가 연이어 발생 💊 하는 등 학습에 집중하기가 힘들었다. 나름대로 이러한 상황을 핑계(?)로 삼아 개인적인 여가 시간을 보내는데 많은 시간을 사용했었던 것 같다. 😅

 

지난 8월 1주차 역시 알고리즘 문제를 풀이하는데 많은 시간을 소요했었는데, 어쩌다보니 이번 한 주 역시 알고리즘과 많은 시간을 보내게 되었다. 😅 이와 더불어 자바의 정석을 통해 그동안 자바 프로그래밍을 하면서 산재되있었던 개념들을 정리하는 시간을 가졌고 이와 더불어 연결 리스트를 자바로 구현하는 작업에 착수하기 시작했다. (프로젝트는 언제 시작하지? 🤔)

 

원티드 주관 코딩테스트 대회 미해결 문제 도전 🔥

이번 한 주의 첫 시작은 지난 2022년 2회차 원티드 주관 코딩테스트 대회에 출제되었지만 당시 아이디어 조차 떠올리지 못했었던 미해결 두 문제를 해결하는 것이었다. 코딩테스트 이후로도 이 문제들에 미련이 생겨 언젠가는 해당 문제들을 해결하고 싶다는 생각이 들었기에 이번 기회에 따로 시간을 내서 다 풀어보기로 결심했었다.

 

결론적으로 두 문제를 다 풀기는 했지만 푸는데 너무 많은 시간이 소요되어 "알고리즘 푸는데 이렇게 시간을 축내도 되나?"하는 시간이 많이 들곤했다. 사실 도무지 문제가 안 풀려 중간에 다른 사람의 풀이를 보고싶다는 생각도 들었지만, 최근에 나온 문제다보니 이에 대한 풀이를 찾을 수가 없었다. 😭

 

개인적으로는 기존 블로그에 해당 문제들에 대한 풀이를 찾아볼 수 없었기에 이번 기회에 해당 문제들에 대한 나만의 풀이 법을 꼭 작성해보고 싶다는 생각이 들었다. 이에 포기하지 않고 (비록 많은 시간을 축냈지만) 문제를 해결할 수 있었다. 🤣

 

 

[백준 - 25331] Drop 7 - Java

문제 설명 25331번: Drop 7 Drop7은 7×7 크기의 격자에서 진행하는 싱글 플레이어 게임이다. 처음에는 격자가 비어있고, 플레이어는 매 턴마다 1 이상 7 이하의 정수 하나가 적힌 공을 받아 7개의 열 중

ikjo.tistory.com

 

 

[백준 - 25332] 수들의 합 8 - Java

문제 설명 25332번: 수들의 합 8 $A = \{1, 2, 3\}$, $B = \{1, 3, 2\}$로, 조건을 만족하는 $i, j$ 쌍은 $(1, 1), (2, 3), (1, 3)$의 세 가지이다. $A_1$ = $B_1 = 1$ $A_2 + A_3 = B_2 + B_3 = 5$ $A_1 + A..

ikjo.tistory.com

 

자바의 정석을 통한 자바 개념 정리 🔍

자바 스터디를 진행하면서 한동안 읽지 않고 있었던 '자바의 정석'이라는 책을 다시 읽어나가고 있는 중이다. 사실 마스터즈 코스 과정 전까지만 하더라도 자바의 정석을 읽어도 뭔가 와닿지 않는 부분들이 많았다. 백문이 불여일타라는 말이 있듯이 자바 프로그래밍 경험이 적었기에 책을 통해 개념을 학습해도 나의 것으로 체득되지 못했기 때문이었으리라 생각이 든다.

 

그래도 나름대로 마스터즈 코스에서의 경험과 여러 알고리즘 문제들을 풀이한 경험 덕에 자바 프로그래밍 경험이 쌓이다보니 확실히 작년과 현재를 비교했을 때 와닿는 느낌의 차이가 굉장히 크다. 어느정도 경험이 있으니 책을 읽을 때 뭔가 새로운 것을 배운다라기 보다는 지금까지 경험했었던 것들을 정리하는듯한 기분을 받았다. 더욱이 자바의 정석은 생각보다 내용이 디테일하여 내가 놓치고 있었던 개념들을 보충해나갈 수 있는 재미가 있었다.

 

물론 아직도 내가 다뤄보지 못한 내용들도 많았기에, 현재 자바의 정석 책 전체 내용이 나에게 와닿는 것은 아니다. 😅 우선은 내가 마스터즈 코스를 하면서 다루었던 기술들을 중심으로 부족한 부분을 채워나가보고자 한다.

 

연결리스트 자료구조 구현 도전 👀

예전부터 자료구조를 직접 구현해보고 싶다는 생각이 종종 들었는데, 마침 자바 스터지 선택 과제 중 하나로 자료구조를 직접 구현해보는 것이 있었다. 특히, 자료구조는 알고리즘과 뗄레야 뗄 수 없는 관계로서 자료구조에 대한 이해도가 높을수록 알고리즘 문제를 풀이하는데 상당한 도움이 될 거라는 생각이 든다.

 

어느정도는 알고리즘 문제를 풀 때 어떤 자료구조를 써야하는지에 대한 기초는 있다고 생각하지만, 자료구조 상 제공해주는 API들이 실제로 어떤 식으로 구현되어있는지를 이해하면 좀 더 깊이있는 학습이 되지 않을까 싶었다.