
헤더파일을 include 시킨다. bits/stdc++.h는 C++의 모든 표준 라이브러리가 포함된 헤더파일이다.std라는 네임스페이스(namespace)를 사용한다. 네임스페이스란 많은 라이브러리를 불러서 사용하다보면 변수명 중복이 발생할 수 있는데 이를 방지하기 위

대표적으로 cin과 scanf가 있다. cin은 개행문자 직전까지 입력을 받고 scanf는 형식을 지정해서 입력을 받는다.문제에서 형식을 기반으로 입력이 주어지지 않은 경우scanf보다는 cin을 쓰는 것이 좋다. cin은 개행문자(띄어쓰기, 엔터)직전 까지 입력을 받

타입과 타입 변환 C++ 엄격한 타입시스템 언어이기 때문에 매번 타입(type)을 설정해줘야 한다. 또한 매개변수의 수나 타입 등에 따라 함수를 다르게 인식한다. 예를 들어 func(int a, int b)와 func(int a)는 매개변수의 수만이 다르지만 엄하게 다

메모리와 포인터 메모리 컴퓨터의 메모리는 메모리 셀의 연속과 같으며 각 셀의 크기는 1바이트이고 16진수로 이뤄진 고유한 주소가 있다. 이 코드를 작성하면 메모리에서 4바이트 정수 타입인 int타입의 변수를 저장하기 위해 4바이트 메모리 영역을 예약한다. 이렇게

이터레이터는 컨테이너에 저장되어 있는 요소의 주소를 가리키는 개체를 말한다.포인터를 일반화한 것을 말한다.vector, map 등 각각 다르게 구현된 컨테이너들을 일반화된 이터레이터를 통해 쉽게 순회할 수 있다.주소값을 바로 반환하지는 못하며 &\*를 통해 한단계 더

fill()과 memset()은 배열을 초기화 할 때 쓰인다. fill()은 모든 값으로 초기화 할 수 있다. 0, 1, 100 등 모든 숫자로 초기화가 가능하다.memset()같은 경우 -1, 0 으로만 초기화가 가능하다. c.f memset()을 쓰다보면 0, -1

자료구조 자료구조란 데이터들과의 관계, 함수, 명령 등의 집합을 의미하며 데이터에 대해 효율적으로 접근, 수정 등 데이터의 처리를 효율적으로 할 수 있게 만든 구조를 의미한다. 선형 자료구조 : Array, Stack, Queue, Linked_list 비선형 자료구

보통 C++을 이용하여 알고리즘 문제를 풀 때 시간초과를 방지하기 위해서 이 코드를 추가해준다.

매개변수(parameter)는 함수에 전달되는 값이자 함수 괄호 안에 선언된 값을 말한다. 값에 의한 호출(call by value)은 매개변수로 전달되는 변수를 모두 함수 내부에서 복사해서 함수를 실행하는 방법이다. 함수 내부에서 이 복사본이 변경되더라도 원본값은 변

Array의 요소를 수정할 때는 다음처럼 크기를 정하지 않은 int a\[], 또는 배열의 크기인 int a\[3], 배열의 포인터인 int \* a를 넘겨서 수정할 수 있다.2차원 vector의 경우 다음과 같이 수정한다. 2차원 array는 다음과 같이 수정한다.

재귀함수와 수학 재귀함수 재귀함수(Recursion)는 정의 단계에서 자신을 재참조하는 함수 전달되는 상태인 매개변수가 달라질 뿐 똑같은 일을 하는 함수 큰 문제를 작은 부분문제로 나눠서 풀 때 사용합니다.(큰 문제를 쪼개서) 주의사항 반드시 기저사례를 써야 한다.(종료조건) 싸이클을 쓰면 안 된다. ex) f(a)가 f(b)를 호출한 뒤 f(b)가 다...

이름 공간의 클래스에 정의되어 있는 함수를 사용하겠다는 의미namespace는 지정한 라이브러리를 사용할 수 있도록 소속을 알리는 역할을 한다.std에는 cout, cin, endl 등 자주 쓰이는 함수들이 정의되어 있다.using namespace std;를 선언해줘