전체 글(113)
-
C++ 수학함수 #include <math>
2주 차에서는 앞으로 알고리즘 문제를 어떻게 접근해야 하는 수학적 지식?을 늘려줍니다. 많은 디테일과 기초지식과 오개념을 가지고 있다면 2주 차 수학 문제를 풀면서 오개념을 바로잡는 실력을 기르는 것을 목표로 2주차 스터디를 들으시면 감사하겠습니다. 아마도 밑에 나오는 문제들은 헤더 파일에 #include 나 #include 를 추가로 적어주시면 수학식을 풀어가는데 유용한 라이브러리를 사용할 수 있습니다. (루트 함수, 제곱, 제곱근, 삼각함수 등등 사용 가능) https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변..
2021.11.15 -
C++ 기본코드
# include using namespace std; int main() { int i = 0; cout > i; cout
2021.11.14 -
(c++) 배열, 구조체, 포인터 (0주차)
배열, 구조체, 포인터는 C++의 세 가지 복합 데이터 형이다. 배열은 동일한 데이터형에다가 여러 개의 값을 하나의 데이터 객체에 저장할 수 있으며 인덱스를 통해 인덱스 내 값에 접근할 수 있다. 구조체는 배열과 달리 데이터형이 다른 여러 개의 값을 하나의 데이터 객체 안에 저장한다. 도트(.) 멤 머 연산자를 사용하여 개별적인 멤버에 접근한다. 구조체는 사용하기 전에 구조체를 어떻게 설계할지를 미리 생각해둬야된다. 그러면 구조체 템플릿 안에 어떤 멤버를 넣을 것인지 정의한다. 그러면 구조체가 완성이 되고 사용자의 의도와 맞게 사용할 수 있습니다. 예를 들어 자동차에 성분에 대한 값을 구조체의 템플릿으로 하고 구조체를 만들어본다고 하면 #include struct car { char car_name[20..
2021.11.08 -
1.시간 복잡도 빅오 표기법 O(N)
시간 복잡도(time complexity)란 가장 널리 사용되고 있는 알고리즘의 수행 시간 기준으로, 알고리즘이 실행되는 동안 ㄴ수행하는 기본적인 연산의 수를 입력 크기에 대한 함수로 표한한 것이다. 그리고 표현을 할때 O표기를 하는데 역기서 O표기를 할때 변수의 차수가 큰 것을 따라간다. n^2+5n => O(n^2) n^3+100n^2 => O(n^3) n^2*m+m^2*n+3 => O(n^2*m+m^2*n) 근데 시간복잡도가 낮다고 해서 언제나 더 빠르게 작동하는 것은 아니다. 밑에 그래프를 보면 알 수 있듯이. 복잡도가 낮다고해서 더 빠르게 작동하는 것이 아니라 일정 구간 이상부터 빠르게 작동하는 것을 알 수 있다. 우리가 1부터 n까지의 합을 구할 때 int sum=0; for(int i=0; i
2021.11.05 -
백준 1018 c++ 완전탐색(Brute-force Serch)
원래 티스토리 해보려고 했는데, 귀찮아서 시작 도안하다가 잔머리? 굴려서 푸는 문제 맞히면 기분 좋잖아요? 그래서 기분 좋아져서 시작해봄 완전 탐색, 브루트 포스(Brute-force)는 그냥 쉽게말해서 가능한 경우를 일일이 다 탐색하는 방법임 근데 브루트포스 문제들은 다 탐색하면 타임 에러가 뜨겠죠? 그래서 어떻게 시간을 최소화하는지에 따라서 문제를 맞히고, 틀리고 가 결정됨 여기 문제 보면 알 수 있는 것처럼 브루트 포스 문제는 시간제한이 있음(하나씩 다 검사하다가는 틀린다는 거) 그래서 어떻게 하면 다 대입안 하고, 시간초과 안하고 찾을 수 있을까? 고민해보니까 시작점만 잘 정하면 되겠다고 생각함(어차피 8X8을 구하는 거닌까) 그래서 시작점을 string크기에 따라서 잘 조절만 하면 할 수 있겠다..
2021.11.03