전부터 매일 블로그에 뭐라도 좋으니 내가 보낸 시간들을 기록 해야겠다고 마음먹은게 한 두번이 아니다, 이게 참 무서운게 블로그에 내가 오늘 배운것 좀 써놓는거야뭐가 어렵겠어? 라고 쉽게 생각했지만 막상 해보니 잘 지켜지지 않았다. 블로그에 글을 작성하는 것도 꾸준하지
오늘 한일 기초를 다 잡는 마음으로 조건문 공부 조건문 관련 알고리즘 문제 풀이 gitgub
오늘 한 일
Array 학습오늘은 배열(Array)에 대해서 공부했다배열에는 굉장히 많은 내장함수가 있고 엄청 많은 기능이 있다이런 내장 함수를 모두 외운다는 건 거의 불가능 하지만 그래도 자주 사용 하는내장 함수들은 외워두면 좋을 것 같았다. (너무 많아 아이고 두야..)배열의
배열 및 객체 구조를 '이해'하고 어떻게 사용하는 지 이해할 수 있는지배열과 객체의 특징을 구분하여 사용할 수 있는지 (순서를 가진다, 의미를 가진다)객체 속성(property)의 추가, 삭제, 조회를 자유자재로 할 수 있는지객체 속성 조회법 두 가지, dot nota
⚡️ 오늘 한 일 알고리즘과 Better code 에 대한 이해 ► 알고리즘 (문제를 어떻게 풀어나갈까?) 1. 문자열 바꾸기 문제로 보는 알고리즘 예를 들어 텍스트에서 foo라는 단어를 찾아 전부 다른 단어로 바꿔주는 코드를 작성한다고 가정해보자.
내가 풀었던 방법과 다른 사람은 어떤식으로 문제를 해결했는지 비교해보고 어떤 로직이 더 효율성이 있는지 체크내가 풀어낸 문제를 정확하게 이해하며 풀었는지단순히 강의를 따라하며 만드는 것은 그 강의를 내 지식으로 만드는 방법이 아니다어떤방식을 활용해서 그 기능을 구현했는
오늘 한 일
개발자도구 설치Command Line 학습git 학습Scope 학습Closure 학습
JavaScript koans 과제 풀기과제 푼 것 커밋 My github
javascript koans 과제 마무리테스트 주도 개발 및 testFramwork 학습Testbuilder 과제 수행과제 깃허브에 올림 My github
객체 지향 학습매개 변수 학습
알고리즘 문제 풀기
Array의 내장함수 알아보기
compose compose2
고차함수 코딩 문제 풀기 06_pipe
고차함수 코딩 문제 풀기 07_callbackOnly
고차함수 코딩 문제 풀기 08_mapCallback
이번 시간의 목표는 이 방법을 학습하고 연습하면서 다양하게 생각하는 능력을 기르는 것입니다.새로운 문제 해결 방법을 배우기 전에, 아래의 간단한 코딩 문제를 해결해 봅시다.문제. 자연수의 리스트를 입력으로 받아 리스트의 합을 리턴하는 함수 arrSum을 작성하세요.(자
누군가는 재귀를 자전거를 타는 것에 비유하기도 합니다. 다른 사람이 타는 것을 옆에서 지켜보면 꽤 쉬워 보이는데 막상 내가 타려고 하면 생각보다 잘 안 됩니다. 자전거를 잘 타는 방법은 계속 시도하고 연습하는 수밖에 없습니다. 재귀 역시 마찬가지입니다. 자연스러워질 때
immersive Course 첫날 페어프로그래밍 진행git workflow 실습pair와 함께 동일한 repo를 fork해서 각각 내용을 수정하고 커밋하고 pull해오는 작업 진행
이번 시간에는 JavaScript 런타임(runtime)에 대해 알아보겠습니다. 뭔가 런타임하면 어려운 개념인것 같지만 여러분은 이미 JavaScript 런타임을 사용하고 있습니다. 다들 웹 브라우저 사용하시죠?! 이게 바로 JavaScript 런타임입니다.런타임이란
연결 리스트는 그 크기가 동적인 자료구조로, 자료구조를 구성하는 요소, -우리는 이것을 노드(Node) 라고 부릅니다노드의 연결로 이루어진 자료 구조입니다. 연결 리스트의 어떠한 임의의 지점에 데이터의 추가와 삭제를 할 경우, O(1) (상수 시간)의 시간 복잡도를 갖
스택이란 자료구조는 사전적 정의인 '쌓다' '더미' 와 같습니다. 쉽게 설명하자면, 밑이 막힌 상자를 생각하시면 됩니다. 밑이 막혔으니 위로만 물건을 집어 넣을 수 있고, 뺄 수가 있겠죠? 이러한 구조 때문에 먼저 들어온 물건은 나중에 나갈 수 있고, 나중에 들어온 물
해시 테이블(해시 맵이라고도 합니다)은 키, 값 쌍을 저장하고 있는 자료 구조입니다. 해시 테이블은 키를 저장할 때에 메모리 공간을 덜 사용할 수 있도록, 키를 "해시 함수"(Hash function)라는 함수를 통해 특정 숫자값의 인덱스로 변환합니다. 해시 테이블은
그래프는 노드(Node, 또는 정점 -vertex- 이라고도 부릅니다), 그리고 노드와 노드를 연결하는 간선(edge)으로 구성됩니다. 그래프는 무방향(undirected)일 수 있습니다. 이는 간선에 의해 연결된 2개의 노드가 대칭일 수 있다는 의미입니다. 한편 방향
트리는 노드로 구성된 계층적 자료구조입니다. 최상위 노드(루트)를 만들고, 루트 노드의 child를 추가하고, 그 child에 또 child를 추가하는 방식으로 트리 구조를 구현할 수 있습니다.A, B, C, D 등 트리의 구성요소를 노드(node) 라고 합니다.트리는
이진탐색트리란 이진탐색(binary search)과 연결리스트(linked list)를 결합한 자료구조의 일종입니다. 이진탐색의 효율적인 탐색 능력을 유지하면서도, 빈번한 자료 입력과 삭제를 가능하게끔 고안됐습니다.예컨대 이진탐색의 경우 탐색에 소요되는 계산복잡성은 O
프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체'라는 기본 단위로 나누고 이 객체 들의 상호 작용으로 서술하는 방식이다. 객체란 하나의 역할을 수행하는 메소드 와 변수(데이터)의 묶음으로 봐야 한다.객체 지향 프로그래밍이라고 하는
알고리즘의 자원(resource)사용량 을 분석자원이란 실행 시간, 메모리, 저장장치, 통신 등이 글에서는 실행시간의 분석에 대해서 다룬다실행시간은 실행환경에 따라 달라진다하드웨어, 운영체제, 언어, 컴파일러 등실행 시간을 측정하는 대신 연산의 실행 횟수를 카운트연산의
임의의 문자열을 입력받아 문자열 내에서 한 번만 등장하는 문자를 리턴해야 합니다.인자 1 : str string 타입의 공백이 없는 문자열string 타입을 리턴해야 합니다.조건을 만족하는 문자 중 가장 먼저 위치한 문자를 리턴해야 합니다.조건을 만족하는 문자가 없는
두 개의 배열(base, sample)을 입력받아 sample이 base의 부분집합인지 여부를 리턴해야 합니다.인자 1 : basenumber 타입을 요소로 갖는 임의의 배열 (base.length <= 100 )인자 2 : samplenumber 타입을 요소로
자바스크립트는 동기적인 언어이다호이스팅이 된 이후부터 코드가 작성한 순서에 맞춰서 하나하나 동기적으로 실행된다는 얘기hoisting : var, function declaration : var변수와 함수 선언들이 자동적으로 제일 위로 올라가는것ex)1 2 3 순서대
class란 조금 더 연관있는 데이터를 묶어놓는 컨테이너 같은 역할을 합니다위 사진에서 Person이라는 class는 name과 age라는 property가 들어있고말을 하는 기능 speack() 라는 function이 들어있습니다이렇게 클래스 안에는 name과 age
이전 포스팅에서 다뤘듯이 클래스 는 template에 속하고template를 이용해서 실제로 data를 넣어서 만드는 것이 Object 입니다JavaScript에서는 클래스가 도입된지 얼마 되지 않았습니다 ES6에서 추가되었습니다그렇다면 클래스가 없었을때는 어떻게 만들
두 개의 문자열을 입력받아 두 문자열에 공통으로 등장하는 문자들로 구성된 문자열을 리턴해야 합니다.인자 1 : str1string 타입의 공백이 없는 알파벳 소문자 문자열 (str1.length >= 0)인자 2 : str2string 타입의 공백이 없는 알파벳 소문자