오늘 할 일
- 알고리즘 문제 마저풀기
- 오후 수업듣고 복습하기
- 추가로 시간되면 알고리즘 문제 더풀기
- 질문사항 정리
- TiL 정리 및 블로그 업데이트
오늘 한 일
- 알고리즘 문제 풀이
- 프린터
- leve2문제를 풀기시작했는데 level 1보단 난이도가 올라간게 적당하다고 느꼇다
- index와 값을 모두 순서가 있게 배열에 입력해야되는데 map으로는 힘들 것같고 클래스는 만들기 싫어서 String으로 두값을 묶어서 계산을 했다
- int값을 뽑아오기 위해 charAt을 사용해야하는데
- 첫번째 답안이 입출력 예는 통과했는데 본테스트는 실패했다
- 문제를 다시읽고 부족한 부분을 찾아봐야 될 것같다
- 테스트 입력값을 여러개 늘렸더니 index가 1의자리수를 넘어가는게 에러의 원인이 었다.
- charAt으로 뽑아오던 index를 substring을 통해 뽑아서 여러자리 숫자여도 대응가능하게 했더니 통과했다
- 테스트를 통과 못할때는 테스트 숫자를 늘려보는것도 좋은 방법인것 같다
- 문제를 풀고 답을 보니 대부분 list나 queue를 활용해서 풀었고 알고리즘도 생각보다 복잡해서 코드를 읽어도 이해가 잘안갔다.
- 다른 사람들은 대부분 이렇게 풀었으니까 나도 이렇게 풀어야 된다고 생각하고 다른사람들 풀이를 흡수해야되는건지, 아니면 나의 풀이에 만족해도 되는지 잘모르겠다.
- 알고리즘 공부법에 대해 좀 알아봐야될 것 같다
- 알고리즘 공부법을 찾아보니 해당 알고리즘에 대한 이론공부를 먼저하고 풀이를 찾아서 해당 풀이법에 맞추어 푸는 것이었다..
- 알고리즘 이론공부를 어떻게 할지 또 방법을 찾아보고 강사님께도 여쭤봐야될 것 같다
- 오후수업
- 변수부터시작해서 기존에 배웠던 것들을 정리하는 식으로 배웠는데 그때는 설명하지 못하신 부분들을 보충해주시면서 말씀해주셔서 도움이 됬다
- 바로 자바 Til에 정리해서 배웠던내용 읽으면서 정리하는 시간 갖으면 될 것같다
- 강사님께서 현업에서 선배들이 사용하는 코드중에 잘못사용?혹은 더좋은 방향으로 사용할수있는 코드를 발견하고 수정했을 때 벌어질수있는 일들에 대해서 말씀해주셨는데 인상적이었다
- 개발자 직군이 대부분 한길을 오랫동안 걸어온 사람들이 많아서 자부심이 높은편이고 그런 분들이 뭔가 잘못된 부분이 있어도 쉽게 인정하기가 어려워하시기 때문에 그런 과정에서 갈등이 벌어질 수 있다는 배경이었다
- 또한 좋은 개발문화에 대해서도 얘기해주셨는데 좋은 문화와 방법론들이 있지만 회사가 처한 상황에서 실행가능한 부분들을 현실적으로 찾아서 실행하는 것이 좋은 문화라고 생각하신다고 하셨다
- 내가 어떤 회사에서 일하게 될지는 모르겠지만 조금이라도 선택할수있다면 조금이라도 좋은 문화와 배우고 발전할수있는 곳을 선택하는 게 좋을 거같은데... 들어가기전에 그걸 알수가 없으니 좀힘들어도 잘이겨나가는 방법을 찾는게 더 좋을 수 도있을것 같다
- 오후수업 정리
- 정리하면서 다른 부분들보다 기억나는 것은 코드의 가독성을 높이기위해 필요하지 구지 필요하지 않아도 더확실히 표현하기 위해 캐스팅을 표시하고 괄호를 표시하고 하는 부분들이 확실히 코딩은 공동작업이라는 것을 인식하게 해준다
- 같이 공동작업을 해나가는 것들에 대한 막연한 기대가 있는 것같다. 이런 컨벤션이라던지 가독성을 위해 높이는 과정이라던지 이런것들이 다 긍정적으로 받아들여진다
- 질문사항 정리
- mehtod 와 function 차이
- StackOverFlow 검색 결과 가장 간단한 설명은 아래와 같다
- Function → Free (Free means not belong to an object or class)
- Method → Member (A member of an object or class)
- 같은 기능을 가졌지만 어디에 속했냐에 따라 Function과 Method를 구분하나보다
- 정젹 변수와 메서드를 객체로 어떻게 접근하는건지(접근방식)궁금함
- 강사님의 답변을 요약
- 힙영역에는 객체 별로 별도로 필요한 부분만 생성될 뿐 객체는 클래스영역 스택영역 모두 접근할 수 있다
- 힙영역에서만 기능하는 것이 아니라 전체적으로 활용하지만 힙영역에 필요한 부분만 저장해놓고 사용하는 거구나.
오늘 느낀 것
- 아침에 어제 TIL 읽으며 어떻게 공부할까 고민하는데 지금 풀고 있는 알고리즘 문제들의 난이도가 그렇게 높지 않은 것이 맘에 걸렸다. 난이도를 조금 높여서 도전이되고 무언가 배울 수 있는 문제들을 더 풀어야 겠다
- 쉬운문제만 풀다보면 절대 어려운문제 풀수가 없다는 강사님의 말을 다시한번 떠올려 본다
- 메모 한것 읽어보고 TIL적은 것 읽다보면 오늘 어떻게 해야되는지 방향이 어느정도 잡힌다. 꾸준히 글을 남기고 남겨논 글을 또 다시 읽으면 방향을 잘잡아 갈수 있는 것 같다
- 글을 써놧다고 쌓아놓기 위해 쓰는게 아닌 해당 다시 한번 읽어 기억하기 위해 적는다는 것을 잊지말자
- 보강 기간을 돌아보면 학원에서 제공해준 서비스덕분에 TIL 작성에 방향이 많이 잡혀서 도움이 많이 되고 있다
- 또한 알고리즘 공부도 입문 할수있게 도와주어 이제 관심가지고 공부법을 찾아보는 단계까지 왔다
- 이런 상황에서 불평만할게 아니라 감사하면서 또 찾아온 휴강기간을 어떻게하면 좋은 방향으로 살려나갈지 방법을 더 찾아봐야될 것 같다
- 지금 하고 있는것 외에 더 내가 준비해야될게 어떤것이 있나 찾아보는게 좋을 것 같고 도움이 필요한 부분은 학원에게 요구하는 것도 좋을 것 같다
- 질문 정리하면서 느끼는 거지만 질문들도 좀 정리해서 해야지 막상 읽어보면 이걸 어떻게 접근해야 하는게 많다.
- 모르니까 어찌보면 당연한 문제일 수 있지만 질문들도 정리해 나가려고 노력하는 것도 기술인 것 같다
내일 할일
- 알고리즘 이론 공부(초급부터)
- 오후 수업듣고 정리
- 질문사항 정리 및 해결
- TiL 정리 및 블로그 업데이트