profile
Seize the day
post-thumbnail

[CS50] 알고리즘 - 병합 정렬

재귀를 활용한 병합 정렬을 구현할 수 있다.병합 정렬전화번호부의 분할 정복 탐색처럼 데이터를 반으로 나우어간다는 것과 공통점이 있는 방법인 병합 정렬(합병 정렬) 이 있다.병합 정렬은 원소가 한 개가 될 때까지 계속해서 반으로 나누다가 다시 합쳐나가며 정렬을 하는 방식

2021년 1월 31일
·
0개의 댓글
post-thumbnail

[CS50] 알고리즘 - 재귀

함수를 재귀적으로 사용하는 코드를 작성할 수 있다.재귀함수를 사용할 때 어디에서 호출을 했는가? main 안에서 프로그램을 작성하면서 필요한 순간에 호출하여 사용한다.그런데 main 역시 함수이기 때문에 main이라는 함수 안에서 또 다른 함수를 사용한 것이다.이 사실

2021년 1월 31일
·
0개의 댓글
post-thumbnail

[CS50] 알고리즘 - 정렬 알고리즘의 실행시간

여러 정렬 알고리즘과 검색 알고리즘의 실행 시간을 Big O와 Big Ω로 정의할 수 있다.Big OBig Ω지금까지 배운 선형 검색, 이진 검색, 버블 정렬, 선택 정렬의 실핼시간은 각각 어떻게 되는지 정리해보자.O(n^2): 선택 정렬, 버블 정렬O(n log n)

2021년 1월 31일
·
0개의 댓글
post-thumbnail

[CS0] 알고리즘 - 선형 검색

주어진 배열 또는 구조체에서 선형 검색을 할 수 있다.선형 검색구조체찾고자 하는 자료를 검색하는 데 사용되는 다양한 알고리즘이 있다. 그 중 하나가 선형 검색이다.선형 검색은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 검색한다.이렇게 하여 선형 검색

2021년 1월 31일
·
0개의 댓글
post-thumbnail

[CS50] 알고리즘 - 알고리즘 표기법

알고리즘의 실행 시간의 상한과 하한을 표기할 수 있다.Big OBig Ω아래 그림과 같이 알고리즘을 실행하는데 걸리는 시간을 표현할 수 있다. 이것을 공식으로 표기한 것이 Big O 표기법이다. 여기서 O는 "on the order of"의 약자로, 쉽게 생각하면 "~

2021년 1월 31일
·
0개의 댓글
post-thumbnail

[CS50] 알고리즘 - 검색 알고리즘

주어진 배열 속에서 특정 값을 찾는 방법을 설명할 수 있다.선형 검색이진 검색배열은 한 자료형의 여러 값들이 메모리상에 모여 있는 구조이다.컴퓨터는 이 값들에 접근할 때 배열의 인덱스 하나하나를 접근한다.만약 어떤 값이 배열 안에 속해 있는지를 찾아 보기 위해서는 배열

2021년 1월 31일
·
0개의 댓글
post-thumbnail

[CS50] Array - 명령행 인자

명령행 인자를 받는 프로그램을 C로 작성할 수 있다.명령행 인자argvargc여태껏 많이 사용해온 main 함수를 보다 자세히 들여볼 때가 왔다.main도 그 형태를 보면 하나의 함수임을 알 수 있다. 이젠 더이상 main() 안에 기계적으로 void라고 입력하는 대

2021년 1월 27일
·
0개의 댓글
post-thumbnail

[CS50] Array - 문자열의 활용

문자열을 탐색하고 일부 문자를 수정하는 코드를 구현할 수 있다.strlentoupper사용자로부터 문자열을 입력받아 대문자로 바꿔주는 프로그램을 아래와 같이 작성할 수 있습니다. 먼저 사용자로부터 입력받은 문자를 s라는 변수에 저장한다.그리고 s의 길이만큼 for 루프

2021년 1월 27일
·
0개의 댓글
post-thumbnail

[CS50] 배열 - 문자열과 배열

문자열과 배열 학습 목표 문자열이 C에서 정의되는 방식과 메모리에 저장되는 방식을 설명할 수 있다. 핵심 단어 문자 문자열

2021년 1월 26일
·
0개의 댓글
post-thumbnail

[CS50] Array - 배열

배열을 정의하고 사용하는 방법을 설명할 수 있다.배열전역 변수 C에는 아래와 같은 여러 자료형이 있고, 각각의 자료형은 서로 다른 크기의 메모리를 차지한다.bool: 불리언, 1바이트char: 문자, 1바이트int: 정수, 4바이트float: 실수, 4바이트long:

2021년 1월 25일
·
0개의 댓글

[CS50] Array - 디버깅

디버깅 학습 목표 디버깅 하는 여러 방법을 설명할 수 있다. 핵심 단어 디버깅 help50 debug50 버그와 디버깅 버그(bug)는 코드에 들어있는 오류이다. 버그로 인해 프로그램의 실행에 실패하거나 프로그래머가 원하는 대로 동작하지 않게 된다. 버그를 만들고

2021년 1월 25일
·
0개의 댓글
post-thumbnail

[CS50] Array - 컴파일링

컴파일링

2021년 1월 24일
·
0개의 댓글
post-thumbnail

[CS50] C언어 - 조건문과 루프

조건문과 루프 학습 목표 조건문과 루프를 c로 작성할 수 있다. 핵심 단어 int if while for int > Code 여기서 int는 변수가 정수(integer)라는 것을 알려주는 것이고, counter는 변수의 이름, 0은 그 값에 0을 저장(

2021년 1월 20일
·
0개의 댓글
post-thumbnail

[JavaScript] - null 병합 연산자 '??'

null 병합 연산자(nullish coalescing operator) ??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 '확정되어 있는' 변수를 찾을 수 있다. a ?? b의 평가 결과는 다음과 같다. a가 null도 아니고 undefined도 아니면 a그

2021년 1월 20일
·
0개의 댓글
post-thumbnail

[CS50] C언어 - C기초

C로 "hello, world"를 출력하는 프로그램을 만들 수 있다.C는 아주 오래되고 전통적인 순수 텍스트 기반의 언어이다. 위 코드를 하나하나 설명하자면,int main(void)는 '시작한다'의 의미를 가지고 있다고 보면 된다.앞으로 작성할 코드 모두는 이 int

2021년 1월 19일
·
0개의 댓글

[React] - 속성값 타입 정의하기

prop-types는 속성값의 타입 정보를 정의할 때 사용하는 리액트 공식 패키지다. 속성값의 타입 정보는 컴포넌트 코드의 가독성을 위해서 필수로 작성하는 게 좋다.자바스크립트는 동적 타입언어로 타입이 없기 때문에 배우기 쉽고 간단한 프로그램을 작성할 때는 생산성이 좋

2020년 11월 1일
·
0개의 댓글

[React] - useReducer

useReducer 훅을 사용하면 컴포넌트의 상태값을 리덕스의 리듀서처럼 관리할 수 있다. 그리고 여러 상태값을 관리할 때 좋고, useReducer와 콘텍스트 API를 이용하면 상위 컴포넌트에서 트리의 깊은 곳으로 이벤트 처리 함수를 쉽게 전달할 수 있다. \>사용법

2020년 10월 30일
·
0개의 댓글

[React] - 메모이제이션 훅: useCallback, useMemo

useCallback은 리액트의 렌더링 성능을 위해 제공되는 훅이다. 컴포넌트가 렌더링될 때마다 새로운 함수를 생성해서 자식 컴포넌트의 속성값으로 입력하는 경우가 많다. 이것은 부모 컴포넌트가 렌더링될 때마다 자식 컴포넌트의 속성값으로 새로운 함수가 입력되기 때문에 불

2020년 10월 30일
·
0개의 댓글

[React] - useRef

리액트로 작업하다 보면 돔 요소에 직접 접근해야 할 때가 있다. 예를 들어, 돔 요소에 포커스를 주거나 돔 요소의 크기나 스크롤 위치를 알고 싶은 경우다. 이 때 ref 속성값을 이용하면 자식 요소에 직접 접근할 수 있다. \>사용법다음은 ref 속성값을 이용해서 in

2020년 10월 29일
·
0개의 댓글