본문 바로가기

programming study

(889)
[코드잇] 프로그래밍 언어 이해하기 (2)(2021.2.9) 본 내용은 해당 강의 토대로 작성 프로그래밍 언어 Overview 01. 프로그래밍 언어의 스펙트럼 프로그래밍 언어의 분류 기준 객체 지향 프로그래밍 Dynamic typing & Static typing 고수준 언어(High-level) & 저수준 언어(Low-level) 고수준 언어: 사람과 가까운 언어 (Python, Ruby) 저수준 언어: 기계와 가까운 언어 (C, Java) 더 저수준인 언어 : 어셈블리어, 머신코드 02. 프로그래밍 언어의 추상화 추상화가 많이 될 수록 고수준 언어 추상화 정도에 따라 문법, 코드를 작성하는 방식, 코드를 바라보는 관점이 달라진다. 03. 저수준 언어와 고수준 언어 비교하기 고수준 언어 프로그래머가 좀 더 필요한 기능과 논리에 집중할 수 있다. 실행 속도가 느..
[코드잇] 프로그래밍 언어 이해하기 (1)(2021.2.9) 본 내용은 해당 강의 토대로 작성 프로그래밍 언어 살펴보기 01. 프로그래밍 언어란? 컴퓨터 : 일을 대신해 주는 기계 프로그램 : 컴퓨터가 어떤 일을 해야할지 알려주는 설명서 프로그래밍 언어 : 설명서를 쓰기 위해 사용하는 언어 02. 프로그래밍 언어의 발전 주판, 파스칼 계산기 단순 계산 프로그래밍 언어 : 숫자로만 이루어짐 현대의 컴퓨터 많은 기능 프로그래밍 언어 : 문자와 숫자, 수학 기호 프로그래밍 언어를 분류하는 두 가지 기준 01. 프로그래밍 언어 구분하기 공통적으로 영어, 숫자, 괄호, 따옴표, 점, 세미콜론으로 이루어져있다. 각 언어마다 자료형, 변수, 함수, 파라미터 형식의 차이가 있다. 다양한 이유로 많은 언어들이 만들어지게 되었다. 용도 상황 프로젝트 02. 객체 지향 프로그래밍 객..
[코드잇] 프로그래밍 시작하기 in Python (2021.2.9) 본 내용은 해당 강의 토대로 작성 파이썬 첫 걸음 사용할 도구들 Python interpreter Python -> Python interpreter -> computer Python 코드를 컴퓨터가 이해할 수 있는 기계어(Machine Code)로 번역해주는 프로그램 PyCharm 코딩을 편하게 해주는 프로그램 올인원 솔루션 통합 개발 환경(IDE, Intergrated Development Environment) 프로그래밍 기본 개념 01. 자료형 개요 프로그래밍이란? 계산한 수식들을 컴퓨터에게 알려주는 것 자료형 (Data Type) 숫자 정수(Integer) 실수(Floating Point) 문자열(String) 따옴표("")로 표현 +로 문자열 끼리 합칠 수(붙일 수) 있다. 불린(Boolean..
[인프런 - 김태원] 파이썬 알고리즘 문제풀이 (코딩테스트 대비) (16)(2021.2.8) 본 내용은 해당 강의 토대로 작성 1. 최소힙 힙 트리 노드 : 숫자가 쓰인 원 간선 : 노드를 잇는 선, 엣지라고도 함 루트 노드 : 가장 상위의 노드 자식 노드 : 상위 노드의 아래에 있는 노드 이진트리의 기본 구성 단위: 부모 노드와 자식 노드 왼쪽 서브 트리 : 2 , 5, 4 오른쪽 서브 트리 : 3, 6, 7 0 레벨 : 1 1 레벨 : 2, 3 2 레벨 : 5, 4, 6, 7 최소힙 부모노드가 자식노드보다 작아야 한다. 0레벨부터 왼쪽을 채운다. 부모가 자식보다 큰 경우, 바꿔준다.(업힙) heap.pop 하면, 루트 노드 값이 나온다. 빈 루트 노드 자리에 아래 레벨, 가장 오른쪽(큰 값)이 가게 된다. 더 작은 값이 부모노드가 되도록 자리를 바꾼다.(다운힙) heap.push가 되면, 업..
[인프런 - 김태원] 파이썬 알고리즘 문제풀이 (코딩테스트 대비) (15)(2021.2.8) 본 내용은 해당 강의 토대로 작성 1. 응급실(큐) 나의 전략 1 순위: 위험도, 2 순위: 순서 순서대로 환자를 검사하고 위험도가 그 환자보다 높은지 본다. deque 자료구조 popleft로 뽑아내서 검사 튜플 문제 풀이 from collections import deque n, m = map(int, input().split()); # n: 환자 수 , m번째 환자 a = list(map(int, input().split())); # 위험도 dan = []; # 환자받을 리스트 for x in enumerate(a): # 튜플로 입력 dan.append(x); dan = deque(dan); # deque target = dan[m]; # 목표 환자 cnt = 0; # 카운트 p = 0; # 환자 ..
[인프런 - 김태원] 파이썬 알고리즘 문제풀이 (코딩테스트 대비) (14)(2021.2.7) 본 내용은 해당 강의 토대로 작성 1. 공주구하기(큐) 문제 해설 큐 자료구조 선입선출(First In Frist Out) 스택의 반대 먼저 들어간 것이 먼저 빠지게 된다. 파이썬에서는 deque 자료구조 append, pop : 뒤 쪽에서 넣거나 뺀다. appendleft, popleft :앞쪽에서 넣거나 뺀다. 문제의 조건에 따라 popleft, append 하는 경우, popleft만 하는 경우를 구분하자. 문제 풀이 from collections import deque n, k = map(int, input().split()); p = deque([]) # 왕자들을 담을 리스트 for x in range(1, n + 1): # 왕자들 리스트에 넣기 p.append(x); while len(p) !..
[스파르타코딩] 웹개발 종합반 항해 1기 5주차 (2)(2021.2.5 ~ 6) 본 내용은 스파르타코딩 웹개발 종합반 강의를 토대로 작성 1. 내 프로젝트를 서버에 올리기 웹 서비스를 런칭하고 클라이언트의 요청에 답하기 위해서는 컴퓨터가 항상 켜져있고 프로그램이 실행되어 있어야 한다. 모두가 접근할 수 있는 공개 주소인 공개 IP 주소(Public IP Address)로 나의 웹 서비스에 접근할 수 있어야 한다. 개인 컴퓨터로는 실현하기 어려우므로 AWS라는 클라우드 서비스를 이용한다. IP 주소와 포트 실제로 우리가 접속하는 컴퓨터는 숫자로 되어있는 주소(IP 주소)가 붙어있다. 문자로 이루어진 URL은 DNS 시스템으로 IP주소를 바꾼 것이다. DNS : Domain Name System IP주소 : 컴퓨터가 통신할 수 있도록 컴퓨터마다 가지는 고유한 주소. 네트워크가 가능한 모..
[스파르타코딩] 웹개발 종합반 항해 1기 5주차 (1)(2021.2.5) 본 내용은 스파르타코딩 웹개발 종합반 강의를 토대로 작성 무비스타 1. GET연습(보여주기) DB로부터 영화배우 정보를 가져와서 보여준다. 필요한 데이터 영화배우 이름 영화배우 이미지 : 이미지 src 속성 좋아요 개수 최근 작품 내용이 들어가는 부분 1. 클라이언트와 서버 연결 확인하기 /api/list , GET 서버 코드 - app.py @app.route('/api/list', methods=['GET']) def show_stars(): sample_receive = request.args.get('sample_give') print(sample_receive) return jsonify({'msg': 'list 연결되었습니다!'}) 클라이언트 코드 - index.html function sho..