분류 전체보기

·CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 재귀 함수가 본인 스스로를 호출해서 사용하는 것을 재귀(Recursion)라고 부른다. 재귀를 이해하는데에는 예시를 사용하는 것이 가장 좋다. 예시 : 피라미드 그리기 사용자로부터 높이 값을 받아 해당 높이 값을 가지는 피라미드를 출력하는 프로그램을 만들어보자. #include #include void draw(int h); int main(void){ int height = get_int("Height: ..
·CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 정렬되지 않은 리스트를 탐색하는 것보다는 정렬한 뒤에 탐색하는 것이 더 효율적이며 이 정렬 방법들에 대해서 알아보자. 버블 정렬 버블 정렬이란 두 개의 인접한 자료 값을 비교하면서 위치를 교환하는 방식으로 정렬하는 방법이다. 단 두개의 요소만 정렬해주는, 좁은 범위의 정렬에 집중한다. 때문에 간단하지만 너무 많은 교환이 일어나는 낭비가 발생할 수도 있다. 만일 1부터 8까지의 숫자로 구성된 [6, 3, 8,..
·DEV
프로그래머스로만 코딩테스트를 연습해 왔는데슬슬 백준 문제들에도 궁금증이 생겨서 브론즈 레벨부터 찍먹 하기 시작했다!백준 : https://www.acmicpc.net/프로그래머스 : https://programmers.co.kr/ 사실 백준을 그동안 안 한 이유는 ...프로그래머스보다 상대적으로 불편한 실습 환경 때문이 컸다. 언어를 선택하는 게 node.js 인 것도 그렇고,문제나 예제를 나란히 두고 볼 수 없는 것도 그렇고,프로그래머스처럼 코드 작성 -> 테스트! 이 과정을 할 수 없다는 게 큰 단점 🙄  Visual Studio Code에서 코드를 작성하고원하는 결과가 콘솔창에 출력되는 걸 확인할 때까지 충분히 테스트 코드를 실행하고백준에 정답을 제출하는 방식이 나에게 가장 편한 방법이 될 것임을..
·CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 검색 알고리즘 배열을 복습하자면 한 자료형의 여러 값들이 메모리상에 모여있는 구조를 말한다. 컴퓨터는 이 값들에 접근할 때 배열의 인덱스(indx)를 이용해 하나 하나 찾아보아야 한다. 특정 값이 배열 안에 존재하는지를 확인하는 방법(검색 알고리즘)은 배열이 정렬되어 있는지 여부에 따라 선형 검색과 이진 검색을 사용할 수 있다. 선형 검색 배열이 정렬되어 있지 않은 경우에 사용하기 좋은 검색 알고리즘. 배열..
·CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 명령행 인자 이전까지 CS50 Sandbox 에서 컴파일 하는 명령어로 make와 clang을 이용해왔다. $ clang prac.c $ make prac.c 컴파일하고자 하는 코드 외에도 컴파일 후 저장하고자 하는 파일명과 같은 추가적인 정보를 함께 줄 수도 있는데 이런 정보들을 명령행 인자(command-line arguments) 라고 부른다. 이전에 사용해본적이 있는 -o 도 명령행 인자의 예시이다...
·CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 문자열 문자열(string)은 CS50 라이브러리 내의 자료형 중 하나로 문자(char)들의 배열이다. 만일 string s = "HI!"; 가 존재하면, s는 메모리 상에서 배열 형태로 저장되고 인덱스를 이용해 각 문자에 접근하는 것도 가능하다. (ex. s[1] = "I") #include #include int main(void){ string s = "HI!"; printf("%c", s[1]); /..
·CS
프론트엔드 기술 면접에 100이면 100 등장하는 브라우저 렌더링 설명하기!자세히 학습해보고 면접 답안으로 활용하기 좋게 요약까지 해보자 📐 브라우저의 기본 구조브라우저 렌더링을 이해하기 이전 브라우저의 주요 구성 요소를 아래와 같이 살펴볼 수 있다. 브라우저는 다음과 같이 여러 단계의 레이어로 구성되어 있다. 각각의 레이어를 확인해보자. 사용자 인터페이스(UI)브라우저가 볼 수 있는 거의 모든 것. 요청한 페이지를 보여주는 창 외의 모든 UI를 의미한다.ex. 북마크, 주소창, 뒤로 가기/앞으로 가기, 새로고침, 환경설정 등브라우저 엔진사용자 인터페이스와 렌더링 엔진 사이 동작을 제어하는 중개자 역할이다.ex. 사용자가 사용자 인터페이스의 새로고침 버튼을 눌렀을 때, 브라우저 엔진이 새로고침 명령을 ..
·CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 메모리 이전에 자료형과 하드웨어의 한계에 대해 공부하며 가볍게 언급했던 메모리에 대해 다시 알아보자. 자료형 메모리 크기 bool 불리언 1byte (8bit) char 문자 1byte (8bit) int 정수 4byte (32bit) float 실수 4byte (32bit) long (더 큰) 정수 8byte (64bit) double (더 큰) 실수 8byte (64bit) string 문자열 ??byt..
·CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 컴파일링 처음 C언어를 공부하면서 컴파일에 대해 짧게 짚고 넘어갔었다. (참고) 컴파일(compile)은 우리가 작성한 코드(소스 코드)를 컴퓨터가 이해할 수 있는 언어의 코드(머신 코드)로 번역해주는 과정이다. 컴파일링을 수행하는 프로그램을 컴파일러(compiler)라고 칭하며 CS50 Sandbox 로 실습하는 중에는 컴파일러로 clang 을 사용했다. 예제로 a.c 라는 프로그램을 작성하고나서 hell..
·CS/CS50
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : https://sandbox.cs50.io/ 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 하드웨어의 한계 컴퓨터에는 메모리 혹은 RAM(Random Access Memory)이라고 칭하는 물리적 저장 장치가 있다. 우리가 작성한 모든 프로그램은 실행 중에 RAM에 저장된다. 쉽게 말하자면 컴퓨터가 여러 일들을 한 번에 할 때 기억하기 위해 사용한다. 다만 이 저장 공간은 유한하다. 1GB, 4GB, 8GB와 같이 메모리는 저장할 수 있는 크기의 한계를 갖는다. 즉, 컴퓨터가 할 수 있는 일에는..
개발하는 이령
'분류 전체보기' 카테고리의 글 목록 (7 Page)