본문 바로가기

알고리즘 문제풀이/개념정리27

[개념정리] 배열의 초기화 - fill 서론 : 보통 배열을 초기화 하고자 할때는 보통 아래와 같은 방법을 사용한다. 선언과 동시에 초기화 memset으로 초기화 값을 직접 넣어주어 초기화 아래는 사용 예시이다. 1. 선언과 동시에 0으로 초기화 int map[10][10] = {0,}; 2. memset 으로 초기화 memset(arr, Flase, sizeof(arr)); 3. 선언과 동시에 값을 직접 넣어주어 초기화 int map[2][2] = { {1,2}, {3,4} }; 하지만 예를들어 5로 초기화하고 싶다하면 어떤 방법을 써야될까? 우선 선언하면서 값을 모두 넣어줄 수 있을 것이다. int map[2][2] = { {5,5}, {5,5} }; 하지만 2x2 배열이 아니고 100x100 배열이라면 이렇게 모두 넣어주기는 힘들것이다... 2021. 4. 24.
[개념정리] c++ 메모리 영역 복사 (memcpy, copy) 코딩을 하다보면 배열 또는 벡터를 복사할 일이 생긴다. 이 때 for loop를 통해 하나하나 복사를 해줄 수도 있고, memcpy를 쓸수도, copy를 쓸 수도 있을 것이다. 각각에 대해 알아보자. 1. memcpy 메모리를 조작하는 함수로는 대표적으로 memset, memcpy, memmove, memcmp 등이 있다. 그 중 memcpy는 메모리를 다른영역으로 복사하는 함수이다. 헤더파일: C : C++ : 기본 사용 : void* memcpy (void* dest, const void* source, size_t num) dest : 복사받을 곳을 가리키는 포인터 source : 복사할 메모리를 가리키는 포인터 num : 복사할 데이터의 길이 (바이트 단위) - 배열 복사 #include int .. 2021. 4. 24.
endl 과 '\n'의 차이와 사용 대개 solution 이후 출력을 나타낼 때 아래와 같이 사용하게 된다. cout 2021. 4. 11.
[개념정리] Big - O 시간복잡도 표기 알고리즘 문제를 풀면서 언젠간 한 번쯤 마주할 시간초과를 계산해내기 위한 Big-O 표기법이다. 시간복잡도란 실행시간으로 알고리즘의 효율을 측정한다. 연산 Step 의 수 ex 1부터 N 까지 더할 때 int summ(){ int result = 0; for(int i=1; i O(n^2) T(n) = n^4 + n^3 + n^2 + 1 => O(n^4) T(n) = 5n^3 + 10n^2 => O(n^3) Big-O 표기법의 종류 1 log n n n log n n^2 n^3 2^n O(1) : - 데이터의 양과 상관없이 일정한 실행시간을 가진다 - 상수그래프의 모양을 그린다. O(log n) : - 위와 같은 그래프의 모양을 보인다. - 따라서 데이터양이 많아져도 시간이 조금씩 늘어난다. - bina.. 2021. 3. 13.
[개념정리] getline의 사용 getline 은 주로 입력을 전체로 받을 때 사용한다. 사용 : 배열에 cin 으로 넣는 방법. #include using namespace std; int main(){ char a[100]; cin.getline(a,100); cout 2021. 3. 4.
[개념정리] strtok strtok 은 C언어에서의 문자열 분리 함수이다. 사용예시 : 문자열을 받아 띄어쓰기를 구분으로 문자를 나눈다. #include #include int main(){ char str[] = "nice to meet you"; char* token = strtok(str, " "); while(token != NULL){ cout 2021. 3. 4.
[개념정리] C++ string 정리 -2 앞선 포스팅에서 string library 의 초기화 삽입 탐색 추가 등을 알아보았다. dbstndi6316.tistory.com/216 [개념정리] C++ string 정리 -1 String Library 란 문자열을 나타내기 위한 클래스 이다. 대체로 코딩테스트에 문자열 input을 받아 처리하는 문제가 나오면 처리가 쉬운 파이썬으로 풀기를 권장하지만 나머지 부분을 전부 c++ 로 준 dbstndi6316.tistory.com 이번 포스팅은 2편으로 string 의 반복자, 제거, c스타일로 변경 등을 알아보고자 한다. 어쩌면 코딩테스트에서 더 많이 쓰일 수 있는 개념들이다. String 비우기 #include #include using namespace std; int main(){ string s.. 2021. 3. 4.
[개념정리] C++ string 정리 -1 String Library 란 문자열을 나타내기 위한 클래스 이다. 대체로 코딩테스트에 문자열 input을 받아 처리하는 문제가 나오면 처리가 쉬운 파이썬으로 풀기를 권장하지만 나머지 부분을 전부 c++ 로 준비했거나 직무가 c 관련이라서 이 글을 보시는 분도 계실것이다. 나도 또한 코딩테스트를 보다가 string에서 애먹은적이 있기 때문에 정리차원에서 적어본다. String 초기화 주석참고 #include #include using namespace std; int main(){ // 1 string str1 = "coding_ddunddun1"; // 2 string str2("coding_ddunddun2"); // 3 string str3; str3 = "coding_ddunddun3"; // 4.. 2021. 3. 4.
반응형