프리코스 1주차 시작!
지난 기수까지는 1차 코딩테스트에 합격한 인원들만 프리코스에 참여할 수 있었는데 이번 기수부터는 1차 코딩테스트가 사라지고 신청하는 모든 인원이 프리코스에 참여할 수 있도록 바뀌었다!
또, 프리코스가 3주차에서 4주차로 늘어났는데 이번 1주차에서는 코딩테스트 문제같은걸 푸는 것이 과제였다. 아마 1차 코딩테스트가 사라진 대신 프리코스 1주차가 코딩테스트와 비슷한 문제를 푸는 것으로 변경된 것 같다.
그 동안 java로 알고리즘 문제는 물론이고 개발 자체를 많이 해보지 않아 프리코스를 잘 할 수 있을지 걱정이 많았는데 다행히도 프리코스 1주차는 문제가 어렵지않아 자린이인 나도 모든 문제를 풀 수 있었다. 문제는 체감상 백준 브론즈~실버 정도의 난이도였다.
1주차 코드
4번과 5번 문제는 깃허브 코드로 링크가 걸려있고 그 외는 풀이 포스팅 링크가 걸려있다.
- 프리코스 1주차 Problem1 코드
- 프리코스 1주차 Problem2 코드
- 프리코스 1주차 Problem3 코드
- 프리코스 1주차 Problem4 코드
- 프리코스 1주차 Problem5 코드
- 프리코스 1주차 Problem6 코드
- 프리코스 1주차 Problem7 코드
프리코스 1주차 후기
프리코스를 하기 전 한 가지 목표를 세우고 프리코스를 진행했다.
- 한 번 제출하고 말 코드이긴 하지만, "최대한 확장성, 재사용성이 높은 코드를 짜보자!"였다.
그래서 함수를 기능별로 최대한 잘게 쪼개기 위해 노력하고, 7번 문제의 경우 User클래스나 UserManager클래스가 없이도 해결할 수 있지만, 마치 이 프로그램이 실제 사용되고 있는 서비스의 User에 관한 것 처럼... 생각하며 코드를 짜려고 한 것 같다. 근데 객체 지향에 대한 지식이 아직 많이 부족한 것 같아 제대로 코드를 작성했는지는 확신이 안선다...😂 프리코스를 진행하며 코드 구조에 대한 지식을 열심히 쌓아, 주차가 지날수록 구조적으로 더욱 좋아진 과제를 제출하는 것이 목표다.
한 가지 목표가 더 있는데 클린 코드를 작성하는 것이다. 이번 주차에는 자바 코드 컨벤션을 찾아보기만 하고 적용을 안했는데 2주차부터는 컨벤션을 지켜서 클린 코드를 작성하는 것이 목표이다. 자바 코드 컨벤션 체크리스트이 체크리스트를 전부 완료하는 것을 목표로 세웠다. indent depth를 2가 넘지 않게 코드를 짜려면... 함수를 얼마나 쪼개야할지... 벌써 기대가 된다...😂😄
또, 다른 분들의 풀이방법을 보며 몰랐던 Stream API나 Collection이 제공하는 API를 배웠다. 다음 프리코스에서는 나도 JAVA가 제공하는 API를 잘 활용해서 더 가독성있고 짧은 코드를 작성하고 싶다.
확실히 같은 문제를 여러 명이서 푸니, 다양한 풀이 방식을 볼 수 있어 즐거웠다. 이렇게 많은 사람들과 같은 문제를 풀고, 토론할 수 있는 기회는 쉽게 오는 것이 아니니 이번 기회를 잘 활용해서 많이 배워가야겠다.