프로그래밍
-
재귀함수란 ?매일프로그래밍 2019. 11. 18. 13:53
재귀함수란 ? 함수내에서 다시 함수(본인)를 호출하여 사용하는 함수 사용시 메모리 스텍이 계속 쌓이면서 탈출 루프를 마련하지 않으면 스텍이 넘치면서 오류 발생 반복적인 동작을 수행할 때 주로 사용 되며 for,while 과 같이 반복문으로 대체가 가능 재귀할때에는 식을 쭉 작성해 놓고 재귀함수가 끝나는 지점에서 작성한 식을 아래에서 위쪽 방향으로 연산 예시 def sum(n): if n == 0: return 0 return n + sum(n-1) sum(4) 사진 출처 : https://wayhome25.github.io/cs/2017/04/15/cs-16-1-recursion/ 강의노트 15-1. 재귀함수(피보나치, 하노이의 탑, 최소공배수 등) · 초보몽키의 개발공부로그 패스트캠퍼스 컴퓨터공학 입문..
-
자료구조란 ?컴퓨터 공학 기초/자료구조 ( Data Structure ) 2019. 11. 12. 15:33
자료구조 - 컴퓨터에 데이터 자체를 저장할 때에는 - 참 / 거짓, 정수, 실수, 문자, 문자열과 같은 형태로 데이터를 저장함 - 하지만 데이터를 가지고 가공, 분석 등의 일을 하려면 많은 양의 데이터를 저장해야 함 - 이때 많은 양의 데이터를 구조화해서 저장 하는 방법들을 자료구조라고 침 함 EX ) 자료구조 1. 배열 ( 리스트 ) : 데이터 여러 개를 줄 세워둘 공간을 미리 만들고 그 공간들에 저장 2. 연관 배열 ( 딕셔너리 ) : Key - Value로 데이터를 짝지어서 저장 3. 연결 리스트 : 배열의 단점 극복을 위해, 기차놀이하듯 데이터들이 연결됨 정보들이 연결되어 있음 즉 데이터를 저장할 때 다음 데이터가 저장될 위치 값을 가지고 있음 4. 스택 : 데이터를 담았다가 꺼내 쓰는 구조 ( ..
-
자료구조 & 알고리즘컴퓨터 공학 기초 2019. 11. 12. 15:03
데이터의 구조 - 컴퓨터에 어떠한 데이터를 저장할 때 해당 데이터의 구조를 명시해주어야 함 - 예를 들어 컴퓨터에 1이라는 데이터를 저장할 때 데이터 : 1, 자료구조 : 숫자 이런 식으로 저장할 수 있음 - 만약 위의 경우에서 범위가 확장된다면? 즉 저장할 데이터의 양이 많아진다면 어떤 식으로 저장해야 효과적으로 빼서 사용 가능할까? - 위의 경우와 같을 때 효과적으로 데이터를 처리하기 위해 데이터를 구조화시켜 놓은 것 - 다음과 같이 데이터를 저장하고 저장한 데이터가 많아짐에 따라 데이터를 효과적으로 사용하기 위해 구조화 시켜 놓은 것을 자료 구조라고 말함 알고리즘 - 위에서 설명한 자료구조를 어떤 식으로 사용할까? 에 대한 사용 방법이 알고리즘
-
플랫폼 & 라이브러리 & 프레임워크컴퓨터 공학 기초 2019. 11. 12. 14:26
웹 동작 방식 1. 웹 서버 시스템(PC)과 웹 클라이언트 시스템 (PC)가 있을 때 각각의 시스템들은 해당 목적에 맞는 여러 프로그램을 설치 EX ) 웹 서버 시스템 = 아파치2 웹 클라이언트 시스템 = 브라우저 2. 웹서버 프로그램 (아파치2) 이 클라이언트( 브라우저 )에게 요청을 받으면 index.html 이라는 파일을 보내줌 - 이때 웹 서버라는 프로그램 즉 아파치2와 같은 프로그램들은 딱 찾아서 넘겨주는 역할까지만 함 - 즉 html파일을 생성해주는 또 다른 프로그램이 서버 시스템 안에 존재 - 위에서 말한 또다른 프로그램이 하는 역할 1. 요청이 들어오면 웹 서버 프로그램이 html을 생성해주는 다른 프로그램에게 요청 2. 요청을 받은 프로그램은 어떤 사용자에게 온 것이고, 어떤 환경에서 온..
-
애플리케이션 & 소프트웨어 & 프로그램컴퓨터 공학 기초 2019. 11. 12. 13:10
프로그램 : 프로그래밍된 결과물 - hello world가 출력되는 코드를 작성해서 원하는 결과가 나온다면 - 프로그래밍된 결과물로 볼 수 있음 소프트 웨어 - 프로그램들이 모여서 어떤 목적을 가지고 컴퓨터 내에서 실행되면서 자신의 목적을 이루는 것 들 - os 운영체제 - 애플리케이션 애플리케이션 - 소프트웨어 중에서 사용자가 사용하는 것 즉 엑셀 훈과 같이 사용자에게 입력을 받으면서 작동하고 사용자와 접점이 있는 소프트웨어가 애플리케이션 - 즉 애플리케이션은 소프트웨어라는 큰 틀에 포함되어 있음 프로그래밍 언어 - 위의 프로그램을 만들 수 있는 언어 - 즉 컴퓨터에게 자신이 원하는 동작을 지시할 수 있게해주는 컴퓨터와 약속된 언어 - 논리적이고 순서가 있음 - 많은 종류가 있음 C, C++, Pyth..