스파르타코딩클럽
-
[WIL] 4주차 주간회고WIL(Week I Learned) 2022. 11. 27. 15:23
*20221127의 회고 와... 벌써 내배캠에 참여하게 된지 4주라는 시간이 흘렀다. 시간이 정말 빠른 것 같다. 혼자라면 하지 못했을 과정들을 배울 수 있음에 참 감사한 것 같다. 혼자라면 팀프로젝트는 어떻게 해야할지, 어떤 서비스를 구현해볼지, 어디서부터 시작해야 할지 막막했을 텐데 내배캠 덕분에 이 막막함을 조금이라도 덜어낼 수 있었다. 이번주는 본격적인 두번째 팀프로젝트가 시작되는 주간이었다. 자바의 객체지향 개념을 알 수 있게 해주는 의미있는 프로젝트였다. 자바 공부를 하면서 이론적인 부분만 공부해온 경향이 없지 않아 있었는데, 역시 직접 프로그램을 구현해봐야 더 기억에 남고 개념이 와닿는 것 같다. 클래스를 만들고, 객체를 생성하고, 객체끼리 어떻게 상호작용을 하는지 어느정도 감을 잡을 수 ..
-
[TIL] 그래프, DFS, BFS, 동적계획법.....반갑다....TIL(Today I Learned) 2022. 11. 17. 21:01
*20221117의 회고 오늘은 그래프, dfs, bfs 그리고 동적계획법에 대해 배웠다. 그래프 연결되어 있는 정점과 정점간의 관계를 표현할 수 있는 자료구조 비선형 구조 -> 연결 관계에 초점이 맞춰져 있다. (선형구조 -> 자료를 저장하고 꺼내는 것에 초점이 맞춰져 있다. ex) 배열) 그래프를 컴퓨터에서 표현하는 방법 인접행렬 : 2차원 배열로 그래프의 연결관계를 표현 인접리스트 : 링크드리스트로 그래프의 연결관계를 표현 인접행렬과 인접리스트의 차이 ? -> 시간 vs 공간 인접행렬은 데이터의 접근이 빠른 대신, O(노드^2)의 공간만큼을 사용해야 함 인접리스트는 연결된 간선만큼 탐색해야 하므로 데이터 접근 시 O(간선) 만큼의 시간이 걸리지만, O(노드 + 간선) 만큼의 공간만 필요함 DFS(D..
-
[TIL] 타임어택 알고리즘, 트리, 배열로 이진탐색트리 구현TIL(Today I Learned) 2022. 11. 16. 20:45
*20221116의 회고 오늘은 오전 9시부터 11시까지 두시간동안 알고리즘 문제를 푸는 것으로 하루를 시작했다. 총 4문제가 출제되었는데, 프로그래머스의 코딩테스트 입문 단계 문제들로 구성이 되어 있어서 쉽게 풀 수 있었다. 딱 이 수준까지는 문제없이 풀 수 있는 것 같다! 여기서 이제 어려워지면 어렵다...ㅎㅎㅎ 아무튼 별 탈 없이 문제를 풀고 난 후, 어제와 이어서 오늘도 남은 알고리즘 자료구조 강의를 수강하였다. 오늘 배운 부분은 트리, 힙 부분이다. 개념적으로는 이해하는데 어려울 게 없었는데, 이진 탐색 트리를 구현하는 실습을 하면서 하루를 다 소비한 것 같다. 몇 번은 강의를 돌려 본 것 같다. 아직도 완벽히 이해했다고는 할 수 없고, 어렴풋이 알 것 같은 느낌이다. 이진탐색트리를 구현하고 이..
-
[TIL] Stack, Queue, HashTable 구현하기TIL(Today I Learned) 2022. 11. 15. 19:56
*20221115의 회고 어제 구현했던 연결리스트를 이용하여 오늘은 stack, queue, hashtable을 구현하였다. 구현하는 코드를 보고 한번에 이해하는 데는 어려움이 있었다. 그러나 두 번, 세 번 반복해서 보니 아직 안보고 직접 구현하는 건 자신 없지만, 코드를 보면서 이해하는데는 어렵지 않게 되었다. 스택, 큐, 해시테이블의 정의와 특징, 그리고 구현한 코드에 대해 정리해 보겠다. 스택(Stack) 한쪽 끝으로만 자료를 넣고 뺄 수 있는 자료 구조 Last In, First Out (LIFO) stack.push() : 스택에 맨 위에 데이터를 넣는다. stack.pop() : 스택의 맨 위에 있는 데이터를 꺼내어 반환한다(스택 사이즈 -1). stack.peek() : 스택의 맨 위에 있..
-
[TIL] 단일연결리스트 구현하기TIL(Today I Learned) 2022. 11. 14. 20:32
*20221114의 회고 오늘은 하루종일 단일연결리스트를 구현했다. 인프런에서 제공되는 무료 강의 'JAVA로 배우는 자료구조(권오흠)' 을 참고하였는데, 이해하는데 정말 큰 도움이 되었다. 실제 현업에서는 이미 구현되어 있는 컬렉션 프레임워크를 사용하겠지만, 실제로 구현해보면 개념을 더 확실히 이해할 수 있고 또 오래 기억에 잘 남을 것 같다. 자료구조를 공부하는 데 있어서 실제 코드로 구현하는 건 꼭 필요한 과정이라고 생각한다. public class Node { public T data; public Node next; public Node(T item) { data = item; next = null; } } //노드 클래스 구현 우선 노드클래스를 만들어 줬다. 멤버변수로 data와 다음에 올 노..
-
[WIL] 내배캠 2주차 주간회고WIL(Week I Learned) 2022. 11. 13. 13:36
1. 지난 일주일을 되돌아봄으로써 나의 현재 상태를 파악하고 2. 더 나은 다음주를 만들기 위해 어떤 부분을 어떻게 채워나갈 지를 고민하는 것 벌써 내일배움캠프에 참여하여 공부를 시작한 지 2주가 지났다! 시간이 정말 빠른 것 같다. 첫번째 주차에는 평일에 시간이 너무 안가서 주말이 너무 기다려졌는데, 이번주는 벌써 주말이야? 하는 느낌이 들었다. 벌써 몸이 적응해버린건지... 아님 이번주는 첫번주에 비해 긴장이 좀 풀어졌는지 신기했다. 왠지 첫째주 만큼 열심히 안한 것 같아 다음주에는 주말이 기다려지게 더 열심히 살아야 겠다고 생각이 들었다. 첫번째 주에는 팀플을 하는 법에 대해 익숙해지고 배웠다면, 이번주에는 인강을 하루종일 들으면서 내 머릿속에 지식을 채워넣는 시간을 가졌다. 오로지 내 의지대로 1..
-
[TIL] 어려운 알고리즘...TIL(Today I Learned) 2022. 11. 11. 20:29
*20221111의 회고 오늘의 스케줄도 하루종일 알고리즘 강의를 듣는 것이였다. 근데 강의는 파이썬 강의라 자바를 하는 나에게는 알고리즘 개념과 풀이방식만 이해하는 방식으로 수업을 듣고, 코드는 자바코드로 스스로 짜보면서 공부를 진행하였다. 그런데 확실히 파이썬 너무 편해 보인다. 자바는 배열을 반으로 자를 때, 반쪽짜리 배열을 생성해줘서 각각 for문을 돌면서 배열안에 원소를 하나씩 넣어주거나, Arrays.copyOfRange()를 사용해야되는데, 파이썬은 그냥 배열이름 옆에 대괄호 열고 범위만 지정해주면 알아서 잘라준다. 그 외에도 정말 편한 내장함수들이 많아보였다... 그래서 세상이 나를 파이썬으로 코테 준비하라고 유혹하는 느낌...ㅠ 그래서 너무 고민이 되어서 튜터님을 찾아뵙고 상담을 요청하였..
-
[TIL] 알고리즘 강의를 들으며...TIL(Today I Learned) 2022. 11. 10. 19:48
*20221110의 회고 오늘은 오전부터 하루종일 알고리즘과 자료구조 강의를 들었다. 내배캠에서 제공된 강의는 사용하는 언어가 파이썬이라 파이썬 문법에 맞춰서 알고리즘과 자료구조를 설명해준다. 그러나 나는 코테를 자바로 공부하고 있는 입장이기 때문에, 문제를 푸는 방법에 대해서 설명을 해주면 자바로 구현은 할 수 있고, 알고리즘과 자료구조의 원리에 대해 설명해주면 원리를 이해할 수는 있어서 문제가 없다고 생각을 했다. 그러나 오늘 강의를 들으면서, 자료구조를 구현해보는 실습을 진행하는데 파이썬으로 구현하는 모습을 보니 조금 헷갈리기 시작했다. LinkedList 를 구현해보는 실습이였는데, 보면서 이해가 잘 되지 않아 구글링을 하면서 들었다. 그래서 든 생각은, 자바로 된 알고리즘 자료구조 강의가 있으면..