[내일배움캠프 Day56] 브루트포스 과제
·
내일배움캠프/TIL
브루트포스(Brute Force)는 말 그대로 무식하게 문제를 푸는 방법입니다. 가능한 모든 경우의 수를 전부 시도해 보는 것입니다. 과거 '프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략' 책에 나오는 브루트포스에 대해 정리한 글을 추가합니다.https://dev0404.tistory.com/24 완전 탐색(Brute Force)‘무식하게 푼다(brute-force)’ 는 컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법을 의미합니다.이렇게 가능한 방법을 전부 만들어 보는 알고리즘을 완dev0404.tistory.com 강의에서는 위와 같은 내용 이외에도 경우의 수를 ‘어떻게’ 만들어 낼지에 대해 여러 가지 전략을 알려주셨습니다.중첩 반복문을 활용한 직접 생성b..
[내일배움캠프 Day42] 알고리즘 수업 Wrap-Up
·
내일배움캠프/TIL
STL이란?STL은 C++에 내장된 템플릿 기반의 라이브러리이며, 크게 컨테이너, 반복자(Iterator), 그리고 알고리즘으로 구성되어 있다.컨테이너(Container): 데이터를 저장·관리하는 구조체(자료구조)들의 집합반복자(Iterator): 컨테이너 내 데이터를 순회(Navigation)할 수 있도록 도와주는 일종의 '포인터' 역할알고리즘(Algorithm): 정렬, 탐색, 삽입, 삭제 등과 같은 로직을 매우 효율적이고 제네릭하게 제공https://dev0404.tistory.com/5 [사전 캠프 Day4] STL요즘 기초가 부족하다고 느껴 프로그래밍 책들을 읽는 중입니다.최근에는 effective c++, 객체지향의 사실과 오해 책을 읽으면서 노션에 정리하고 있는데 effective c++는 ..
[내일배움캠프 Day35] 알고리즘 수업 1주차 과제
·
내일배움캠프/TIL
코드#include #include #include using namespace std;int main() { map> students; // ID, 과목, 점수 map>> scores; // 과목, ID, 점수 cout > choice; // 학생 성적 추가 if (choice == 1) { int id, score; string subject; cout > id >> subject >> score; // 0 ~ 100점까지 유효한 범위 if (score 100) continue; students[id][sub..
완전 탐색(Brute Force)
·
알고리즘
‘무식하게 푼다(brute-force)’ 는 컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법을 의미합니다.이렇게 가능한 방법을 전부 만들어 보는 알고리즘을 완전 탐색이라고 부릅니다. 재귀 호출재귀 함수(recursive function)란 자신이 수행할 작업을 유사한 형태의 여러 조각으로 쪼갠 뒤 그중 한 조각을 수행하고, 나머지를 자기 자신을 호출해 실행하는 함수를 가리킵니다.재귀 호출의 기초적인 성질을 이해하기 위해 가장 간단한 반복문을 재귀 함수로 바꿔 구현해 봅시다.int sum(int n){ // 반복함수 int ret=0; for(int i=1;i모든 재귀 함수는 ‘더 이상 쪼개지지 않는’ 최소한의 작업에 도달했을 때 답을 곧장 반환하는 조건문을 포함해야..
[알고리즘] 시간 복잡도
·
알고리즘
시간 복잡도시간 복잡도(time complexity)란 가장 널리 사용되는 알고리즘의 수행 시간 기준으로, 알고리즘이 실행되는 동안 수행하는 기본적인 연산의 수를 입력의 크기에 대한 함수로 표현한 것입니다.일반적으로 점근 표기법을 사용하여 시간 복잡도를 나타내며, O(⋯) 형태로 표기합니다. O(⋯) 안에는 입력 크기(n)에 따른 실행 횟수를 함수로 표현합니다.  O(1) n2) n3) 2n)  O(1): 상수 시간 복잡도입력 크기에 상관없이 일정한 시간이 걸리는 알고리즘예: 주로 수학 공식등을 이용해 답을 바로 계산해내는 문제O(log n): 로그 시간 복잡도입력 크기가 커질수록 실행 시간이 느리게 증가예: 이진 탐색(Binary Search)O(n): 선형 시간 복잡도입력 크기에 비례하여 실행 시간이..