목록분류 전체보기 (305)
개발하고 싶은 초심자
오늘은 Toy 3번 문제를 풀고, 여러 자료구조들을 학습하며 코플릿 문제들을 페어 프로그래밍으로 진행하였다. 아침마다 항상 느끼는 것이지만, 장난감 문제가 아니라 장난감을 들고 나를 두들겨 패는 것 같다...😭 오늘 스케줄은 뭔가 시간에 쫓기는 듯한 느낌이 들었다. 스택과 큐는 어떻게 이해를 할 수 있을 것 같았는데, 그래프니 트리 구조니 이진 탐색 트리니 인접 리스트니, 행렬이니... 뭔가 수학 공부하는 듯한 느낌이었다. 교복 입던 시절부터 수포자였는데, 자꾸 수학 문제 같은 것들이 나오니 많이 힘들긴 했다. 수학, 조금 더 열심히 공부해 놓을 걸 싶은 생각... 특히 힘들었던 것은 다름 아닌 그래프였다. 내가 생각하는 그래프와 전혀 다른 것이 그래프라고 나오니 이해하기가 많이 힘들었다. 이해하기도 힘..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cot6bH/btrn0kvfDob/XXVCkcUt2Zq4qWPRKAxyU0/img.png)
1. 자료구조(Data Structure) ‣ 여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한 것. ‣ 자료(데이터)를 다루는 구조 그 자체를 뜻하며, 구현하는 방식에는 제약이 없다. ﹡데이터(data): 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값. → 우리의 이름, 나이, 키, 집 주소, 목소리 혹은 유전자 DNA까지 데이터로 분류할 수 있다. → 데이터는 그 자체만으로 어떤 정보를 가지기 힘들기 때문에 데이터는 필요에 따라 데이터의 특징을 잘 파악(분석)하고 정리하여 활용해야만 의미를 가질 수 있다. → 데이터를 체계적으로 정리하여 저장해두는 것이 데이터를 활용하는 데 있어 훨씬 유리하다. ex) 나이라는 데이터만 알고 있다면, 사람의 나이인지, 강아지의 나이인지, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cduKIY/btrnJASO6TW/r060PJ9ibRIqoAz5FiGTLk/img.png)
✷ Array.prototype.fill 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채운다. ‣ 기본 구문 array.fill(value[, start[, end]]) 매개변수 ① value: 바꿔줄 값 ② start: 시작 인덱스(기본값은 0 / optional) ③ end: 끝 인덱스(기본값은 this.length / optional) 반환값: 변형한 배열 ex) let array = [1, 2, 3, 4]; console.log(array.fill(0, 2, 4)); // [1, 2, 0, 0] console.log(array.fill(5, 1)); // [1, 5, 5, 5] console.log(array.fill(6)); // [6, 6, 6, 6] 1. 재귀 함수 : 종료..
오늘은 Toy 2번 문제를 풀고, stringifyJSON과 Tree UI에 대해 페어 프로그래밍을 진행했다. 아침부터 너무 졸린데, 머리를 쓰려고 하니 너무 힘들긴 하지만 오늘 문제는 section 1에서도 보았고, 재귀함수 코플릿에서도 보았던 피보나치 수열에 대한 문제여서 조금 반가운 생각으로 해결했다. 피보나치 수열을 구하는 효율적인 알고리즘에 대해 알 수 있는 좋은 기회였다. 코플릿에서처럼 푸는 방식으로 풀었을 때는 중복으로 더하는 수열이 있다는 것은 염두에 두지 않고, 재귀 함수를 호출하는 것에만 집중했는데 오늘 문제는 그를 넘어서 효율을 중점적으로 볼 수 있어서 유익했다. 오늘 페어 프로그래밍에서는 정말 오랜만에 35기에 처음 탑승해서 하나도 모르는 상태로 코플릿 페어 프로그래밍을 진행할 때와..
오늘은 Toy 1번 문제를 풀고, 재귀함수에 대해 학습하고 재귀함수 코플릿을 풀었다. 원래 재귀함수 코플릿은 페어 프로그래밍 시간이었는데, 페어 분께서 사정이 생기셔서 함께 하지 못했다. Toy 문제는 50번까지 있는데, 1.5단계부터 시작이라고 한다. 그런데 1번 문제부터 너무 어려웠다... 알고리즘 베이직 문제 같으면서도 조금 다른 것 같이 느껴지는 Toy problem. 이름은 Toy인데 문제는 Toy같지 않고 너무 맵다😢 코딩 테스트는 이런 문제들보다 더 어려울텐데 벌써부터 걱정이 된다. section 2를 시작하기 앞서 나보다 먼저 이 과정들을 경험했던 수강생들의 회고록을 보았는데, 재귀함수가 그렇게 어려웠다고 했다. 그 말은 정말이었다. 역시 경험에서 우러나온 회고록... 분명 원래 배웠던 대..
오늘은 객체 지향 프로그래밍과 프로토타입에 대해 학습했다. 뭔가 어디서 본 듯 못본 듯 아는 듯 모르는 듯 하는 개념들이 많아서 더 어렵게 느껴졌던 것 같다. 하지만 오늘 페어 프로그래밍은 페어 분과 함께 해결해나가며, 가끔은 페어 분께 질문도 해가며 열심히 해결했다. 스프린트 자체가 그다지 어렵지만은 않아 해결 자체에는 문제가 없었지만, 중간 중간 드는 의문점은 역시 개념을 제대로 익히지 못해 생기는 것들이 대부분이었다. 유어클래스에 올라오는 회고록들을 봤을 때, 재귀함수가 그렇게 어렵다던데, 내일 바로 재귀함수를 학습하는 날이다. 내일도 역시 페어 프로그래밍이 있기에, 그 시간동안 서로 유익한 시간이 될 수 있는 선에서 학습을 해야겠다. 오늘 배운 것도 반드시 복습하기!!
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bgAQdq/btrnCQIen22/kU3AM2BaSO6HAK0K7FyPUk/img.png)
1. 클래스를 이용한 모듈화 ① 메소드 호출: 객체.메소드() 과 같이 객체 내에 메소드를 호출하는 방법 ⇒ 메소드 호출 방식을 사용할 때는 화살표 함수를 사용하지 않는다. let counter1 = { value: 0, increase: function() { this.value++ // 메소드 호출을 할 경우, this는 counter1을 가리킨다 }, decrease: function() { this.value-- }, getValue: function() { return this.value } } counter1.increase() counter1.increase() counter1.increase() counter1.decrease() counter1.getValue() // 2 ② 클로저를 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dbClSV/btrnpyAgnAF/N77mLfFkPY0SQbEjFMPPK0/img.png)
1. 기수 이동, 그리고 이슈 쉐어링 상담 처음 코드스테이츠에 35기로 탑승하여 첫 기수 이동 메일을 받았을 때는 정말 씁쓸하고 힘들었다. 내 공부 방법이 틀렸던 것인가, 다른 사람보다 내가 못한 것인가, 하는 생각이 많이 들어 심적인 부담감을 많이 진 채로 36기에 다시 탑승했다. 기수 이동을 하고 나서도 굉장히 힘들어했다. 정규 시간 내 솔로 스터디를 하면서, 페어 프로그래밍을 진행하면서, 줌 세션을 들으면서도 문득문득 시험 볼 때의 긴장감에 사로잡혔다. 그러면서 나도 모르는 사이 '내가 정말 할 수 있는 건가, 이게 내 길이 맞는 것일까' 하는 자기 비하도 많이 했다. 스트레스를 많이 받아서인지 그런 생각이 들 때마다 온몸이 떨리고 공부에 집중도 잘 되지 않았고, 심장이 너무 빨리 뛰는 듯한 느낌을..