* 본 후기글은 프로그래머스의 코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디 (Java반) 참여 후 솔직하게 적는 글입니다.
* 1편에서는 스터디 전반에 관한 내용을 기록했으며, 2-3편에서는 스터디에서 배운 내용들 위주로 작성하였습니다.
* 저작권에 위배되거나 문제되는 내용이 있다면, 알려주시면 수정하도록 하겠습니다.
🙋 참여한 프로그램 👇
https://programmers.co.kr/learn/courses/12730
🙋♂️1편(전반적인 후기)과 3편(3,4주차)는 여기 👇
https://contents-studio.tistory.com/137
https://contents-studio.tistory.com/139
-
원래 추천해주신 건, TIL(Today I Learned)인데 의도치 못하게 주 단위로 작성하게 되었다. TIL하는 습관을 길러보고 싶다...
-
수업 시간에 다룬 코드들도 남길까 하다가, 어쨌든 돈주고 듣는 스터디에서 알려주는 것이다 보니까 혹시 몰라 적지 않았다. 그러다보니 블로그에 공개하는 내용 자체는 많지 않음..
-
총평 후기글 (1탄)과 달리 본 글은 제 기록용이 우선이라.. 그냥 보시기엔 이해가 안갈 수도 있습니다...
📕 1주차
- 문제 풀이: 하샤드 수
- Git
- 코드를 표현하는 방식이 한 가지만 있는 것이 아니다. 다양한 코드를 시도해보는 것이 코딩 실력을 높이는데 도움이 된다.
- 다른 사람이 쓴 코드를 보면 내가 생각하지 못한 코드일 수 있기 때문에, 생각의 틀이 넓어질 수 있다. 서로의 코드를 보자!
- 좋은 코드는 내가 어떤 목적을 가지고 있느냐에 따라서 달라진다. 코드가 어디에서 돌아가고, 코드의 목적에 따라 다르다. 빠르게 돌아가는 코드를 중시하는지, 가독성이 좋은 코드를 추구하는지 등에 따라 달라진다.
📘 2주차
- 문제 풀이: 다음 큰 숫자, 올바른 괄호
- 지금은 CS를 몰라도 코딩 문제를 푸는데 지장이 없을 수 있다. 그러나 일정 수준 이상이 되면 다음 단계로 도약하기 위해선 CS가 필요하다. 결국은 알아야 한다.
- 이론 -> 원리 -> 기본 -> 응용 순서로 공부를 해보자
- 코드를 줄일 수 없을 때까지 줄여보면 쓸데 없는 코드가 사라진다. 동작에 영향을 주지 않는 코드를 없애준다. 코드가 많으면 버그 발생확률도 높아진다.
- 추천 책: 이펙티브 자바, 클린 코드
- 자료구조: 데이터를 저장하는 방법
1) primitive type: 메모리에 변수가 생기고 그 변수에 값 저장. 변수를 넘기면 값이 복사. call by value
object type: 변수가 메모리 생기지만 실제 오브젝트는 어딘가에 생기고 이것을 참조함. 레퍼런스 변수. 변수를 넘기면 레퍼런스가 복사됨. call by reference
2) array => 값을 여러 개 저장할 때
3) list => array의 늘어나거나 줄어들지 않는 극복하기 위해서. 링크를 건다.
4)링크가 엉망진창이 된게 graph => 서로의 연관관계들을 링크로 나타냄. 그리고 규칙을 더 함 => tree
5) map: array(값 빠르게 찾기, key) + list(데이터 저장)
-
컴공 출신이 아니다보니까 CS에서 한계를 간혹 느낄 때가 있는데..
그래도 이렇게 수업을 듣다 보면, 이 수업 저 수업, 이런 책 저런 책에서 들은게 조금씩 정리가 되는 기분이다.
'Web > Java' 카테고리의 다른 글
[JAVA/알고리즘] 자연수 뒤집어 배열로 만들기 (0) | 2022.03.11 |
---|---|
코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디(Java반) (3) 스터디 3,4주차 (0) | 2021.10.26 |
코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디(Java반) (1) 후기 (0) | 2021.10.26 |
[Java] 값을 입력 받았을 때, 조건문을 건너 뛰는 경우 (0) | 2021.06.11 |
[Java] 반복문에서 break를 사용해야할 때 (0) | 2021.06.04 |