전체 글

ALGORITHM

[ALGORITHM] 2. 선형 탐색(Linear Search), 이진탐색(Binary Search)

✅ 선형 탐색(Linear Search) 리스트의 맨 처음 원소부터 차례대로 하나씩 검사하여 그 값이 원하는 원소인지 확인하는 알고리즘이다. 원하는 원소를 찾으면 해당 인덱스를 리턴하고 끝까지 검사했는데도 못 찾으면 -1을 리턴한다. def seqsearch(nbrs, tgt): for i in range(0, len(nbrs)): if (tgt == nbrs[i]): return i return -1 알고리즘을 실행하는데 걸리는 시간은 원소 수에 비례하고 최악의 경우는 찾는 원소가 없는 경우이다. 보통 시간 복잡도를 O(n)으로 표시한다. ✅ 이진탐색(Binary Search) 탐색 범위의 중간 위치의 값을 원하는 원소 값과 비교한다. 중간 위치의 값이 원하는 원소 값보다 더 작으면 중간 위치 오른쪽..

ALGORITHM

[ALGORITHM] 1. 재귀 알고리즘(Recursive Algorithm)

✅ 재귀 알고리즘(Recursive Algorithm) 한 알고리즘의 내부에서 자기 자신을 다시 부르는 알고리즘을 의미한다. 반복 패턴과 종료 조건이 존재한다. 스택으로부터 메모리 할당 및 해제를 반복하는 반복 함수 호출로 속도는 느리다. ➰ 1부터 n까지의 합 구하기 def RecursiveSum(n): return 1 if n == 1 else RecursiveSum(n - 1) + n print("Recursive Sum of 1 to", upper, "=", RecursiveSum(upper)) ➰ 배열의 숫자의 합 구하기 (Recursive Sum) data = input("Enter list of numbers: ") numbers = data.split() numbers = [int(i) f..

PYTHON

[PYTHON] 1. 문자열(string) 슬라이싱, 함수

✅문자열 슬라이싱 문법 : [start_index:end_index:step_num] start_index의 위치에서 end_index-1의 위치까지, step_num만큼 건너뛰어서 슬라이싱한다. 예시는 다음과 같다. greeting = "HELLO" print(greeting[:]) # HELLO 출력 print(greeting[3:]) # LO 출력 print(greeting[:2]) # HE 출력 print(greeting[2:4]) # LL 출력 print(greeting[0:4:2]) # HL 출력 ✅문자열 함수 ➰.upper() 함수 문자열에 포함된 알파벳을 모두 대문자로 바꾼다. 대문자와 알파벳이 아닌 것은 그대로 둔다. 예시는 다음과 같다. print("Hello".upper()) # HE..

DEEP LEARNING

[DEEP LEARNING] 1. 딥러닝이란 무엇인가 ?

✅ Deep learning이란 ? [Deep learning > Representation Learning > machine learning > AI] ➰ Deep learning은 머신러닝(machine learning)의 안에 들어가는 개념이다. 머신러닝(machine learning)은 쉽게 말해서 기계를 학습시키는 것이며 여기서의 학습은 인간 학습과는 다르다. mitchell은 "한 컴퓨터 프로그램이 어떤 과제류 T에 속하는 과제들을 수행하며 그 수행의 성과를 측정한 측도가 P라고 할 때, 만일 어떤 경험 E 때문에 T의 성과 측도 P가 개선되었다면, 그 컴퓨터 프로그램은 경험 E로부터 학습한다고 말할 수 있다."라고 말했다. 즉 학습은 수학 수식을 개선하는 활동이라는 것이다. 그중에서도 Dee..

GIT & GITHUB

[GIT & GITHUB] 2. SSH를 이용해 GITHUB 연결

✅ SSH란 ? Secure Shell의 줄임말로, 우리의 컴퓨터와 Git서버가 안전하게 통신할 수 있게 도와준다. ➰SSH 설정하기 1. ssh 설정되어 있는지 확인하기 터미널에서 'ls -a ~/.ssh'명령어를 입력했을 때 id_rsa, id_rsa_pub가 보이면 이미 ssh가 설정되어 있는 것이다. 2. ssh 생성하기 구글에서 git ssh를 검색하고 다음 사이트에서 자신의 개발 환경에 맞는 설정을 그대로 따라 하면 된다. https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent Generating a new SSH key ..

GIT & GITHUB

[GIT & GITHUB] 1. GIT 설치 & 사용하기

✅ Git이란 ? 분산 버전 관리 시스템이다. 쉽게 말해서 여러 명이 같은 프로그램의 다른 기능을 개발할 때 완료한 후 합칠 때 사용할 수 있으며, 한 사람이 원래 구현한 코드를 수정할 때 버전 관리를 할 수 있고, 자신의 코드를 업로드하여 다른 사람과 공유할 수 있는 시스템이다. ➰Git 설치하기 1. 설치되어 있는지 확인하기 터미널에 'git --version'입력하고 버전 정보가 뜨면 이미 설치되어있는 것이다. 2. 설치하기 이 사이트에 들어가서 자신의 개발환경에 맞는 git을 다운로드한다. https://git-scm.com/ Git git-scm.com ➰Git 사용하기 1. Git 저장소 만들기 현재 디렉터리를 원하는 디렉터리로 하고 'git init' 명령어를 입력한다. 2. Git 상태 확..

WEB/NODE.JS

[NODE.JS] 3. mongoDB model & Schema

✅ Schema란 ? 입력될 정보의 타입과 특성을 미리 지정하는 것이다. 예시는 다음과 같다. const mongoose = require('mongoose') const userSchema = mongoose.Schema({ name: { type: String, maxlength: 50 }, email: { type: String, trim: true, unique: 1 }, password: { type: String, minlength: 5 }, lastname: { type: String, maxlength: 50 }, role: { type: Number, default: 0 }) }) ✅ Model이란 ? schema를 통해서 만드는 인스턴스이다. 쉽게 말해서 schema를 감싸주는 역할을 ..

WEB/JS

[JS] 15-2. 과제 - 챗봇 유동적인 기능 만들기 (json parsing)

✅오늘의 과제 ➰챗봇에 유동적인 기능 추가하기 ➰코드 day15.html 오늘 옷 뭐입지 ? 알아보기 day15.js let count= 0; let topText1; let topText2; let default_background = document.getElementById("body"); let context = document.getElementById("context"); let default_text = document.getElementById("cloth"); // let val = document.getElementById("input_text").value; let text_set = ["겨울이에요" + "" + "따뜻하게 입으세요 !", "봄, 가을이에요" + "" + "날씨 좋아요..

WEB/JS

[JS] 15-1. 챗봇 유동적인 기능 만들기 (json parsing)

✅json이란 ? JSON(JavaScript Object Notation)은 속성-값 쌍 또는 키-값 쌍으로 이루어진 데이터 객체를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 형식이다. 예시는 다음과 같다. [ { topText1 : '오늘의 기온을 적어주세요', topText2 : '기온에 맞는 옷차림을 알려드릴게요' } ] 서버와 웹 클라이언트 사이에서 데이터를 주고 받을 때 주로 사용한다. ✅json 활용법 서버를 직접 구현하지 않을 것이기 때문에 json 형식의 코드를 이용하여 설명할 예정이다. 다음 코드를 보자. let json = [ { topText1 : '오늘의 기온을 적어주세요', topText2 : '기온에 맞는 옷차림을 알려드릴게요' } ]; json이라는 변..

WEB/JS

[JS] 14-2. 과제 - CDN 사용법

✅오늘의 과제 ➰챗봇에 타이핑 애니메이션 추가하기 ➰코드 day14.html 오늘 옷 뭐입지 ? 알아보기 day14.js let count = 0; function input_check() { let context = document.getElementById("context"); let default_text = document.getElementById("cloth"); let default_background = document.getElementById("body"); let val = document.getElementById("input_text").value; if (val === "나 뭐입지?") { let typewriter = new Typewriter(context, { loop: t..

clm_bonny
clm_bonny's blog