이번주에 배운 내용
-
TextBased_Dungeon_Game 개인과제
-
팀 프로젝트 진행
-
알고리즘 개념
-
알고리즘 문제 풀기
주간 회고
이번 주의 시작은 저번주에 만들던 개인과제 텍스트 게임의 버그를 수정하는 것으로 시작됬다.
버그가 났던 부분은
-
프로퍼티 무한루프
-
메서드를 호출할때 ()를 빼먹음
1번 같은 경우는 자동 선언한 프로퍼티에 다른 기능을 추가할 때 변수를 따로 선언 해주지 않고 프로퍼티를 그대로 시용하면 프로퍼티가 무한 루프로 호출된 경우 였고,
2번은 string을 return하는 메서드를 호출했는데 System.Func(?)과 관련된 것이 출력되었고, 이것은 ()를 빼먹어서 메서드를 호출한게 아니라 메서드 자체가 출력문안에 들어가서 생기는 문제였다.
그렇게 간단한 버그들을 수정하고 본격적으로 개인 과제의 선택 요구 사항들을 시작했다.
인벤토리 정렬은 IComparable
상점 기능은 Inventory를 상속받은 Shop 클래스를 만들어서 메서드들을 오버라이딩 했는데
사실 상속의 이점?을 잘 살리지는 못했다. 출력하는 텍스트를 만드는 부분들이 비슷하지만 약간씩 달라서 아마 거의 모든 메서드를
오버라이딩 해서 구현한 것 같다.
이 두 가지를 제외하고는 기억에 남는 기능은 아니고 간단한 기능들이였고, 그렇게 개인과제를 완성해서 제출했다.
다음주 월요일에 튜터님들이 각자의 코드를 리뷰해주신다고 하셨는데, 아무래도 취준생레벨에서 튜터님들 수준의 코드 리뷰를 받을 기회는 잘 없다보니
어떤식으로 리뷰를 해주실지 기대도 되는거 같다.
팀 프로젝트는 기능 구현을 조금 더 해서 머지를 시켰는데 내일배움캠프에서 진행하는 팀 프로젝트가 아니라 그냥 팀에서 하자는 얘기가 나와서 진행하는거라
다른 팀원 분들이 개인과제를 한다고 바쁘기도 하고 해서 아마 흐지부지 무산되는가? 싶다.
그리고 나서는 5주차 강의를 모두 수강하고 5주차 숙제를 풀어서 제출했다.
1번 문제는 정말 어려워서 튜터님에게 질문도 했었는데 결국 풀지못했다.. 그런데 구글링을 해보니 백준 플래티넘 등급에 똑같은 문제가 있다는 글을 봤다. ??
2번 문제는 쉬운 문제였고 간단하게 구현할 수 있었는데 3번 문제는 딱봐도 뭔가 알고리즘을 구현해야 할 것 같았다.
그런데 알고리즘 문제를 계속해서 푼지가 한 2개월 지나서.. 어떤 알고리즘을 어떻게 구현해야될지 감이 잘 안잡혔고
쉬운 문제였지만 결국 구글링을 해봤다. 그리고 아.. 알고리즘 개념 공부를 따로 좀 더 해야겠다. 라는 생각이 들어서 먼저 DP부터 다시 개념을 공부하고 구현해봤다.
그리고 나서 알고리즘 코드카타가 시작됬다. 매일 아침 1시간 지정해준 문제리스트에서 최소 2~3문제씩 알고리즘 문제를 푸는것으로 캠프에서 진행하는 시스템 이다.
초반부 문제는 거의 쉬운 문제 위주여서 첫날 1레벨 문제를 다풀었는데 쉬운 문제였지만 오랫만에 여러가지 메서드들을 사용하면서 기억을 되살릴 수 있어서 많은 도움이 됬다.
그리고 다음 날에는 2레벨 문제들을 풀기 시작헀다 (프로그래머스 2레벨은 아니고 캠프에서 지정해준 2레벨이라 프로그래머스에선 1레벨..)
그런데 뒤로 갈수록 문제푸는 시간이 느려지기 시작했고, 그만큼 푸는 재미도 있었던 것 같다 사실 이번주에 2레벨까지는 전부 풀어두고 싶었는데
한개가 모자라서 레벨3을 달성하지 못하고 이번주를 마무리 하게 됬다.
다음 주에는 좀 더 여러 알고리즘의 개념을 공부하고 구현해보면서 알고리즘 문제들도 풀어야겠다,
또 팀을 나누어서 팀 프로젝트를 진행한다고 하기 떄문에 다음 주의 시작은 조 확인 부터.. 해야겠다.