완전 탐색(Brute Force)
·
알고리즘
‘무식하게 푼다(brute-force)’ 는 컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법을 의미합니다.이렇게 가능한 방법을 전부 만들어 보는 알고리즘을 완전 탐색이라고 부릅니다. 재귀 호출재귀 함수(recursive function)란 자신이 수행할 작업을 유사한 형태의 여러 조각으로 쪼갠 뒤 그중 한 조각을 수행하고, 나머지를 자기 자신을 호출해 실행하는 함수를 가리킵니다.재귀 호출의 기초적인 성질을 이해하기 위해 가장 간단한 반복문을 재귀 함수로 바꿔 구현해 봅시다.int sum(int n){ // 반복함수 int ret=0; for(int i=1;i모든 재귀 함수는 ‘더 이상 쪼개지지 않는’ 최소한의 작업에 도달했을 때 답을 곧장 반환하는 조건문을 포함해야..
[내일배움캠프 Day7] Git
·
내일배움캠프/TIL
7일차 Git 특강과 관련된 전공 시간에 배웠던 내용을 추가로 정리하였습니다. Githttps://git-scm.com/ Git git-scm.comfast version control system분산 VCS - 팀 공유 작업에 최적화된 도구누가 언제 무엇을 수정하였는지 tracking - content (not file) oriented수정된 내용을 되돌릴 수 있음Local / Remote Repository Git은 어떤 점에서 분산 시스템이라고 하는가?중앙 버전 제어 시스템은 하나의 중앙 repository를 가지고 있으며, 각 사용자는 중앙 repository로부터 파일을 check out 하고 수정 후에 중앙 repo로 변경 사항을 제출합니다.반면에 Git에서는 각 사용자는 repository를..
[내일배움캠프 Day6] C++ 프로그래밍 기초
·
내일배움캠프/TIL
Hello, World 출력#include // 외부에 있는 파일을 가져오겠다는 의미using namespace std;// int는 함수 종료 시 어떤 타입을 반환할 건지 알려주는 부분int main() { // 프로그램의 시작점 cout  변수입력한 값을 담을 공간이 필요해 프로그래밍 언어는 변수라는 것을 제공합니다. 타입  표현하는 데이터 설명 int정수(양수,0,음수)소수점 Xfloat,double부동 소수소수점 O, 둘은 정밀도 차이char단일 문자작은 따옴표로 한 문자 표현bool논리값true 와 falsestring문자열쌍 따옴표로 문자열 표현, 헤더 필요unsigned양수음수 입력 불가, 양수 범위가 2배 계산기 구현#include using namespace std;int ma..
[알고리즘] 시간 복잡도
·
알고리즘
시간 복잡도시간 복잡도(time complexity)란 가장 널리 사용되는 알고리즘의 수행 시간 기준으로, 알고리즘이 실행되는 동안 수행하는 기본적인 연산의 수를 입력의 크기에 대한 함수로 표현한 것입니다.일반적으로 점근 표기법을 사용하여 시간 복잡도를 나타내며, O(⋯) 형태로 표기합니다. O(⋯) 안에는 입력 크기(n)에 따른 실행 횟수를 함수로 표현합니다.  O(1) n2) n3) 2n)  O(1): 상수 시간 복잡도입력 크기에 상관없이 일정한 시간이 걸리는 알고리즘예: 주로 수학 공식등을 이용해 답을 바로 계산해내는 문제O(log n): 로그 시간 복잡도입력 크기가 커질수록 실행 시간이 느리게 증가예: 이진 탐색(Binary Search)O(n): 선형 시간 복잡도입력 크기에 비례하여 실행 시간이..