오늘부터 코드스쿼드 마스터즈를 시작했다.
처음 1개월 간은 CS를 공부하는 CS10 과정을 공부한다.
주로 코딩테스트를 풀 때 python을 사용했기 때문에 CS에 나오는 주제나 알고리즘을 직접 Java로 짜야한다는 것이 조금 두려웠다.
하지만 찾아가면서 따라가보려고 노력하면 될 것이다!
오늘은 전가산기와 이진법 <-> 십진법 변환 관련에 대해서 공부를 했다.
우선 그럭저럭 구현은 한 것 같은데 자바도 처음이고 어떤 식으로 코드를 짜야 깔끔할 지가 계속 고민되었다. 우선 코테 풀듯이 한 함수에서 다 때려박고 나중에 조금씩 분리하는 식으로 짜보고 있다.
또한 python에서는 기본적으로 list를 사용했었지만 Java에서는 array를 사용했다.
배열은 할당 시에 크기를 정해주어야 해서 불편한 점이 있어서 python의 list와 비슷한 ArrayList를 이용해보았다.
추가로 python과 달리 항상 type을 명기해줘야 한다는 점이 귀찮으면서도 좋았다.
오늘 JK가 미션 소개를 하며 해준 조언에 따르면 코드는 내 것이 아니라 다른 사람이 보기 좋게 짜는 것이 좋다고 했다.
그 말처럼 python은 짜는 사람 입장에선 매우 편한 언어지만 코드를 공유할 때는 정말 혼돈의 카오스인 것 같다.
물론 java로 짜도 아직까지는 가독성이 그리 좋아보이진 않는다...
6시까지 주어진 미션은 모두 완수했지만 더 생각해볼 거리들과 코드를 더 개선할 점이 없는지 들여다보려고 한다.
또한 리뷰 시간에 어떻게 나의 코드를 설명할 지 생각해보면서 매끄럽지 않은 부분을 개선해보아야겠다.
코드스쿼드 동안에는 미션을 완수하는 것에서 그치지 않고 항상 공유하는 것을 중점적으로 훈련해봐야겠다.
코드스쿼드 팀원들과 같이 zoom 회의실에서 해서 그런지 생각보다 늘어지지 않고 열심히 짤 수 있었던 것 같다.
역시 같이 공부한다는 것이 얼마나 중요한지 깨달았다.