# cs50

101개의 포스트

[CS50] - 알고리즘

우리는 이제 컴퓨터에 정보를 입력하는 방식을 배웠습니다. 그렇다면 이 정보를 컴퓨터는 어떻게 가공하여 출력하는 걸까요? 우리가 일상 생활에서 다양한 문제를 처리하는 방식 처럼, 컴퓨터 또한 순서대로 필요한 동작을 하며 문제를 처리합니다. 이를 알고리즘이라고 하는데, 알

2일 전
·
0개의 댓글
post-thumbnail

[CS50] - 정보의 표현

우리는 컴퓨터를 통해 다양한 정보를 처리합니다. 간단한 숫자부터 시작해서, 문자, 사진, 영상, 음악까지. 정보를 표현하는 형태는 매우 많습니다. 컴퓨터는 어떻게 이런 다양한 정보를 처리할 수 있을까요?컴퓨터가 문자, 사진, 영상, 음악 등 다양한 정보를 처리하는 방식

2일 전
·
0개의 댓글
post-thumbnail

16진수 표현 방법

컴퓨터는 2진수를 이용한다.예를 들어 255는 11111111로 표현된다. (맨앞의 1은 부호를 의미)문자의 경우, A는 01000001로 표현할 수 있다.그런데 딱 봐도 뭔가 답답하다.복잡해 보이지 않는가?만약에 쓰이는 숫자와 문자가 많아진다면 어질어질 할 것이다.✨

5일 전
·
0개의 댓글
post-thumbnail

컴퓨터는 어떻게 정보를 기억하는가?

컴퓨터에서 정보를 저장한다고 하면 대부분 HDD, RAM를 떠올릴 것이다.여기서 놀라운 사실 하나.(비전공자 기준)사실 CPU 역시 정보를 저장할 수 있다.CPU는 정보를 저장하는게 아니라 정보를 처리하는 장치 아닌가요?맞다.다만, 컴퓨터가 계산을 수행하기 위해선 비트

6일 전
·
0개의 댓글

CS50 - Lecture 0 - Computational Thinking

바이너리 컴퓨터는 0과 1, 바이너리(2진법, binary)로 숫자를 표현한다. 비트(bit, binary digit): 하나의 비트는 0이나 1의 값을 가질 수 있고, 참/거짓, 서로 배타적인 상태를 나타낸다. 바이트(byte): 비트가 여러 개 모인 것으로

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

[CS50] WEEK4 알고리즘 -1

해당 글은 naver boostcourse '모두를 위한 컴퓨터 과학(CS50)' 강의 정리 글입니다. 앞선 WEEK 1,2,3은 기초 문법이기 때문에 WEEK4 부터 정리하고자 합니다. 0. 들어가기 앞서 알고리즘이란 무엇일까? 바로 input을 집어넣어 out

2021년 2월 28일
·
0개의 댓글
post-thumbnail

부스트코스 CS50 코칭스터디2기 6주차

자료구조는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미합니다.데이터 값의 모임데이터 간의 관계데이터에 적용할 수 있는 함수나 명령문제를 해결하기 위한 무기이기 때문에 ..realloc \- 메모리와 포인터에서 배운 개념을 배

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

부스트코스 CS50 코칭스터디2기 5주차

포인터의 크기와 메모리 크기는 비례한다. 32bit 운영체제 포인터 크기는 4byte, 64bit 운영체제 포인터 크기는 8byte.typedef는 새로운 자료형을, char \*은 문자에 대한 포인터를, string은 자료형의 이름을 의미합니다.== 을 사용하면 주소

2021년 2월 16일
·
0개의 댓글
post-thumbnail

문자열의 활용

프로그래밍은 결국 추상화를 이용해서 복잡한 기계어를 간단하게 처리하는 것 CS50자체 라이브러리에 문자열길이를 구하는 함수 교수님은 그냥 for문을 쓸 때 이렇게 쓰면 호출을 매 반복문이 돌 때마다 "호출"해야 하기 때문에, 이렇게 변수에 문자열 길이를 할당해 놓

2021년 2월 6일
·
0개의 댓글
post-thumbnail

부스트코스 CS50 코칭스터디2기 4주차

문제를 해결하기 위한 일련의 동작들의 모음 또는 과정선택 정렬(Selection Sort) \- 정렬되지 않은 수 중에 가장 작은 수를 찾아 정렬되지 않은 첫 번째 위치의 수와 교환하는 방식의 정렬 \- O(n^2)버블 정렬(Bubble Sort) \- 두 개의

2021년 2월 5일
·
0개의 댓글
post-thumbnail

문자열과 배열

int = 4바이트 차지이렇게 메모리를 차지하게 된다.배열안에 int를 넣어놨다고 해서,int가 4바이트를 차지한다고 해서,cores0, scores4, scores4 라고 읽지 않아도 된다.컴퓨터가 자료형에 따라 알아서 필요한 공간을 계산char = 1바이트 차지st

2021년 2월 4일
·
0개의 댓글

배열 (Array)(2)

여러가지가 있지만 한마디로 확장성과 재사용성이 없다는 것.위에서 const는 불변의 값, 대문자로 써주는 것이 컨벤션 자바스크립트 const가 여기서 왔구나!!average함수 선언위치가 실행단계보다 아래에 있어, 함수의 프로토타입을 실행구문 윗쪽에 배치아아아 함수 프

2021년 2월 3일
·
0개의 댓글
post-thumbnail

배열(Array)(1)

각각의 자료형들은 아래와 같은 Memory Usage를 가진다 사용하는 운영체제에 따라 조금은 다르지만, 각각의 자료형은 특정 메모리 공간을 차지하게 된다. bool 1byte char 1byte int 4 byte float 4 byte long 8 by

2021년 2월 3일
·
0개의 댓글
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개의 댓글