회고 6주차

lim1313·2021년 8월 29일
0

WEEK 회고

목록 보기
4/9

객체지향 언어

객체 지향 언어는 절차지향과 달리 한줄한줄 순서대로 보지 않아도 이해하기가 쉽고, 기능별로 구분되어 있기 때문에 유지보수하기가 좋다고 한다.

하지만 객체지향이 무조건 좋은 것은 아니기 때문에, 각 방법론의 장단점을 잘 알고, 상황에 맞게 방법론을 선택할 필요가 있다.

사람들과의 협업이 필요하다면 코드 이해가 쉬운 객체지향을 선택하면 좋을 것 같다.


재귀함수

반복작업을 할 때 for, while과 같은 반복문 뿐 아니라 재귀적인 코드 작성으로 보다 간결하고 가독성 좋은 코드를 작성할 수 있게 되었다.

하지만, 재귀함수의 성능은 반복문보다는 좋지 않다고 한다. 때문에, 재귀함수와 for문, while문을 적절히 사용하는 방법을 터득할 필요가 있어보인다.


JSON

JSON 타입을 통해 서로 다른 프로그램의 데이터를 주고받을 수 있는 포멧을 배웠다.

자료구조

자료구조의 개념 자체는 어렵지 않았지만, 자료구조를 코드로 구현하는 것이 쉽지만은 않았다.
하지만, 큐, 스택 등의 개념을 적용하지 않고 코드를 구상했을 때보다, 자료구조 개념을 적용하여 코드를 구상하는 것이 문제 접근이 쉬웠다.

아직은 문제를 보고 바로 어떠한 자료구조로 접근해야 하는지 파악하기는 쉽지 않지만, 다양한 자료구조를 학습하다 보면 다양한 방법으로 문제에 접근할 수 있을 것 같다.


어려웠던 점

점점 시간복잡도도 고려한 코드를 작성하는 연습이 필요해졌다.
미니 코테를 풀 때에도 더이상 단순한 메소드 결합으로 풀리지 않는 문제들이 나오기 시작하였다.


어려웠던 개념, 보충이 필요한 개념

  • 자료구조
    linked line
    hash table

회고

처음으로 자료구조를 배웠다. 자료구조의 개념은 이해하기 어렵지 않았으나, 자료구조를 문제에 적용하고 문제에 적용한 자료구조를 코드로 작성하려고 하니, 쉽지만은 않았다.

특히 프린터 문제... 꾸역꾸역 코드를 작성하기는 했지만, 어느샌가 queue라는 자료구조를 반영한 코드가 아닌, if문을 남발하여 답만 간신히 도출하는 만족스럽지 않은 코드가 나왔다.
페어의 코드를 보니 깔끔하고 큐 자료구조를 잘 반영한 코드였는데.. 많이 아쉬움이 남는 코드였다.(하지만, 그마저도 2시간이 걸려서 쓴 코드)

레퍼런스를 참고하며 자료구조의 특성을 잘 살릴 수 있는 코드를 작성하려고 노력 중이다.

이번주에 배운 내용을 복습하고 다양한 방법으로 코드를 구상하는 연습을 해야겠다!

profile
start coding

0개의 댓글