오늘은 알고리즘에 대해 알아보겠다. 알고리즘이란? → 문제를 해결하는 단계적인 방법 여러 알고리즘이 있다. 전화번호부 예시 Mike를 전화번호부에서 찾으려면 첫 장부터 한 장씩 넘겨 찾는 방법이 있을 수 있다. 1024장이면 최대 1024단계가 필요할 수도 있다. 더 빠르게 하면 반씩 분류해서 정보를 정리 할 수 있다. 이렇게 하면 1024장이면 10단계면 찾을 수 있다. 이 단계들을 알고리즘이라고 한다. 좋은 알고리즘이란? 해결해야할 양 대비 처리속도가 더 적게 늘어나는 것 정확하고 효율이 좋은것 문제의 양대비 해결 시간이 적은 것이 좋은 알고리즘이다. 의사코드 전화번호부 예시를 코드 형식으로 나타내본다. 전화번호부를 집어 든다 전화번호부의 중간을 편다 페이지를 본다 만약 Mike Smith가 페이지에..
문자의 표현 이전 글에서 컴퓨터는 2진법을 사용해 작동한다고 알아보았다. [CS50] 컴퓨팅사고와 2진법 오늘은 컴퓨터 사이언스 공부를 시작하기 전에 컴퓨터 사이언스에 대해 알아보겠다. 컴퓨터 사이언스란 "컴퓨터를 이용한 문제 해결에 대한 학문"이다. 문제 해결은 입력을 받아 출력을 만들어 daino.tistory.com 그렇다면 문자는 어떻게 표현할까? 바로 숫자로 변환해 표현한다. 문자를 숫자로 표현 할 수 있도록 정해진 약속이 있는데, 그중 하나가 아스키 코드이다. ASCII ASCII는 8비트까지만 사용했고 미국식 영어만 표현했기에 모든 문자를 표현하기 어려웠다. 그래서 상위 개념으로 유니코드가 탄생했다. 사진의 표현 → RGB값 사용 색상 패턴을 숫자로 해석해서 RGB 양으로 받아들이고 모든 색..
오늘은 컴퓨터 사이언스 공부를 시작하기 전에 컴퓨터 사이언스에 대해 알아보겠다. 컴퓨터 사이언스란 "컴퓨터를 이용한 문제 해결에 대한 학문"이다. 문제 해결은 입력을 받아 출력을 만들어내는 과정을 말하는데, 이러한 입력, 출력을 표현하기 위해 약속이 필요하다. 컴퓨터 사이언스의 첫번째 개념은 이 입출력을 어떻게 표현하는지에 대한 표현 방법이다. 컴퓨터에서 2진법 컴퓨터에 작동원리를 알아보고 2진법이 무엇인지, 컴퓨터는 왜 2진법을 사용하는지 알아보겠다. 10진법 인간은 일상에서 10진법을 사용한다. 10진법은 0, 1, 2, 3, 4, 5, 6, 7, 8, 9로 이루어진이고, 손가락으로 숫자를 세는것과 같다. 만약 123을 표현한다면, 아래와 같이 10의 거듭제곱의 수를 곱해 사용한다. 2진법 인간과 달..
이전에 Swift로 언어를 시작하며 CS강의를 듣은 적이 있다. 그때는 "이게 왜 필요하지? 그냥 코드 치면 안되나?"라는 생각으로 대충 듣고 머리에서 지워버렸다. 하지만 계속해서 개발 공부를 해나가면서, 프로그래밍을 더 깊게 이해하고 싶다는 생각이 들었다. 그래서 알아보던 중 하버드에서 강의하는 [CS50]이라는 컴퓨터 사이언스 강의를 네이버 부스트코스에서 무료로 들을 수 있다는 것을 알았다. 앞으로 CS50 강의를 듣고 정리를 하며 기본을 더 탄탄하게 자리잡는 시간이 되었으면 좋겠다. 다 함께 배우고 성장하는 부스트코스 부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다. www.boostcourse.org