[Algorithm] 빅오 표기법과 시간 복잡도의 개념 및 예제
·
Computer Science/Algorithm
알고리즘에서 중요한 속성 1. 정확성 : 주어진 입력을 모두 처리하며 올바르게 출력해야 한다. 2. 효율성 : 문제를 효율적으로 해결해야 한다. 두 가지 변수로 측정 - 시간 복잡도 : 알고리즘이 얼마나 빠르게 결과를 출력하는지 측정, 입력 크기 n에 대한 시간 함수 T(n)으로 표현 - 공간 복잡도 : 원하는 결과를 얻기 위해 알고리즘이 얼마나 메모리를 사용하는지 측정, 입력 크기 n에 대한 메모리 사용 함수 S(n)으로 표현 빅오 표기법 (big-O) - 점근적 분석의 한 방법 - 수학적 정의 - cg(n)은 모든 n >= n0에 대해 f(n)의 상한이다. - 최고차항의 차수로 표현하고 계수와 낮은 차수의 항은 무시한다. (예시) n^2 + n = O(n^2) 시간 복잡도 알고리즘에 주로 나오는 시간..
[Jekyll] Jekyll와 Github로 만드는 깃허브 블로그 - (2) Ubuntu에서 Ruby와 Jekyll 설치하기
·
Git
이제 Jekyll 테마의 변경한 세부사항을 바로 확인할 수 있도록 Ruby와 Jekyll을 설치하도록 하겠습니다. 0. 기본적인 설치 및 사용법은 Jekyll 사이트에서 알아봤습니다 📌 jekyllrb-ko.github.io/ 설치 환경 - VMware Workstation 16 Player - Ubuntu 20.04.2.0 1. Update 설치 전 업데이트는 필수! sudo apt-get update sudo apt-get upgrade 2. 필요한 패키지 설치 sudo apt-get install ruby-full build-essential zlib1g-dev 3. Gem 설치 디렉토리 설정 root 사용자로 Ruby Gem 을 설치하는 것은 피하는 게 좋습니다. 다음 명령으로 Gem 설치 경로를..
[Jekyll] Jekyll와 Github로 만드는 깃허브 블로그 - (1) Jekyll 테마 적용하기
·
Git
TIL를 블로그에 작성하고 싶어서, 깃허브 블로그를 하나 만들기로 했습니다. 매일 TIL를 작성하며 공부 중이라는 사실을 깃허브 잔디밭에도 나타내고 싶기도 하고, 개인 도메인과 호스팅을 구입하긴 부담돼서 깃허브 블로그로 결정했습니다! Jekyll Github 사이트를 제작, 운영하는 데 추천하는 도구는 'Jekyll'와 HEXO입니다. 저는 템플릿의 종류가 많은 Jekyll을 선택했습니다. Jekyll은 Ruby 언어로 작성된 정적 웹사이트 생성기입니다. 마크다운, Liquid, HTML&CSS를 넣으면 바로 게시할 수 있는 사이트를 완성할 수 있습니다! DB 관리도 필요없는 블로그를 운영하기 아주 편리한 도구죠. Jekyll의 기본 사용법은 다음 사이트에서 익혀서 사용했습니다. 📌 jekyllrb-ko..
[Github] Github page 기능을 통한 웹 사이트 운영
·
Git
포트폴리오와 TIL 를 위한 웹 사이트를 제작하기로 했습니다. Github를 웹 호스팅으로 이용하기로 했고 그 방법을 소개하겠습니다! 1. Repository 를 생성 2. index.html 파일을 생성 웹 사이트의 메인 페이지로 사용될 파일입니다. 저는 Hello라는 텍스트만 담은 파일로 생성했습니다. 3. Github Pages 설정 Settings > GitHub Pages > Source 에서 None을 클릭하여 master branch 를 선택하고 Save! Settings 에 들어가서 아래로 쭉 내리면 찾을 수 있습니다. Save하면 index.html 이 자동으로 웹 사이트의 소스로 공개됩니다. 4. 생성된 링크를 통해 웹 사이트로 들어갈 수 있습니다. index.html 이 이 웹 사이트..
[Github] Github 프로필에 Daily 코딩 시간 나타내기
·
Git
위 사진처럼 내가 커밋하는 시간을 Github 프로필 메인에 나타낼 수 있습니다. 쉽게 사용할 수 있는 오픈소스와 적용 방법을 소개하겠습니다. 1. 다음 링크로 들어가 Repository를 Fork 합니다. 원작자의 Repository 에서 Fork 받아 한국에 맞게 설정이 변경된 Repository 입니다. 링크 : github.com/techinpark/productive-box techinpark/productive-box Are you an early 🐤 or a night 🦉? Let's check out in gist - techinpark/productive-box github.com fork 하여 내 저장소로 가져옵니다. 2. Public gist 생성하기 새로운 gist를 생성합니다. g..
[Tistory] 티스토리 코드블록 폰트 변경
·
etc
티스토리 커스텀 스킨을 적용해서인지 구글링하여 나오는 방법으로 코드블록 폰트 변경이 안됩니다... 그래서 찾은 간단한 방법입니다! 스킨 편집에서 HTML과 CSS 파일에 간단한 코드만을 추가하여 코드블록 폰트를 변경할 수 있습니다 Google Fonts 기본 폰트 이외에 다른 폰트를 구글 폰트에서 골랐습니다! fonts.google.com/ Google Fonts Making the web more beautiful, fast, and open through great typography fonts.google.com Google Fonts 코드 복사 1. Google Fonts에서 폰트 선택 저는 Roboto Mono를 선택했습니다! 2. 원하는 굵기, 타입의 스타일 선택 3. link에서 첫번째 코드..
[Git] Git GUI SourceTree 설치 및 사용법
·
Git
Git GUI Git은 기본적으로 CLI(Command Line Interface)에서 사용 가능하지만, GUI(Graphic User Interface) 환경에서도 사용가능 하도록 많은 프로그램들이 있다. Sourcetree, Github Desktop, GitKraken 등이 있다. Github Desktop은 제공하는 기능이 한정적인데 비해, Sourcetree는 사용할 수 있는 기능이 많아 많은 사람들이 사용한다. GitKraden은 UI가 화려한 것을 선호하는 개발자들이 많이 사용한다. 예전부터 많이 사용해오던 Sourcetree를 설치해보고 사용 방법에 대해 간단히 알아보려 한다. SourceTree 다운로드 및 설치 1) 다운로드 - SourceTree 홈페이지에서 설치 프로그램을 Downl..
[HTML] HTML 문서의 구성과 기본적인 태그
·
FrontEnd
Tag(태그) 란? HTML 문서를 구성하고 있는 요소 태그에는 이름과 속성이 있다. 예) 시작 태그와 종료태크가 쌍을 이룬다. HTML 1. 최신 HTML 버전 HTML5 2. 사용할 편집툴 메모장으로도 가능 Notepad, Atom, Eclipse ... 본인에게 맞는 툴을 사용하는 것이 좋습니다. 저는 Visual Studio Code를 사용합니다! HTML 전체적인 구조 1. 기본 태그 : 문서가 html 파일이라고 지정 html 태그 : 태그 안이 html 문서를 구성. html 태그 안은 , 두 가지 태그로 구성된다. head 태그 : 환경 설정에 관련된 정보 body 태그 : 공유하고자 하는 정보를 담는다. : 줄바꿈(개행). 종료 태그를 따로 하지 않아도 된다. ※ xmlns : 지정네임스..
[HTML & CSS] Web을 구성하는 HTML과 CSS
·
FrontEnd
Web(웹) 1개 이상의 사이트가 연결되어 있는 인터넷 서비스의 한가지 형태 사전적으로 거미줄이란 의미로, IT에서는 WWW(World Wide Web)의 줄임말 전 세계의 컴퓨터들을 연결하여 정보 공유를 하는데 주 목적 이렇게 연결되어 있는 상태를 네트워크에 연결되어 있다고 한다. ※인터넷(Internet) 1개 이상의 네트워크가 연결되어 있는 형태 http://codesyun.tistory.com:80/category/Programming 프로토콜 : 네트워크 상에서 약속한 통신규약(HTTP, FTP, SMTP , POP, DHCP) IP : 네트워크 상에서 컴퓨터를 식별할 수 있는 주소 DNS : IP 주소를 인간이 쉽게 외우도록 맵핑한 문자열 Port : Port 번호는 해당 컴퓨터의 구동되고 있..
[Algorithm] 소수를 찾는 방법, 에라토스테네스의 체
·
Computer Science/Algorithm
에라토스테네스의 체 란? 소수(Prime number)를 찾는 알고리즘 대량의 소수를 빠르고 정확하게 구할 수 있는 방법 에라토스테네스의 체 원리 소수를 판별할 범위의 배열을 할당하고, 값을 지워나가는 방법 1. 배열을 생성하여 초기화 2. 2부터 시작하여, 특정 수의 배수를 모두 지운다. (자기 자신은 지우지 않는다) 3. 2부터 남아있는 모든 수는 소수이다. 에라토스테네스의 체 구현 (C++) void Eratos(int n){ /* 인덱스 0과 1은 사용하지 않음을 고려하여 배열을 할당해야 한다 */ bool num[1000001]; /* 배열 초기화 : 모두 소수라고 가정한 true 값을 준다 */ for (int i = 2; i