일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 포스코 ai 교육
- dfs문제
- 다이나믹프로그래밍
- DP문제
- 그리디
- dfs
- 딥러닝
- TensorFlow Lite
- BFS
- bfs문제
- 초소형머신러닝
- 삼성코테
- DP
- 코테
- MCU 딥러닝
- 임베디드 딥러닝
- 삼성역량테스트
- 삼성역테
- 코딩테스트
- 포스코 교육
- sort
- 영상처리
- tinyml
- 코테 문제
- tflite
- 포스코 AI교육
- 삼성코딩테스트
- 컴퓨팅사고
- 알고리즘
- 자료구조
- Today
- Total
목록알고리즘 문제풀이 (174)
코딩뚠뚠
헤더파일을 추가하여 순열을 자동으로 구해줄 수 있다. 필요성 : 알고리즘 문제를 풀며 위 함수의 필요성을 느끼게 되었다. 모든 경우에 대해 순열을 바꿔주어 입력을 넣어줘야되는데 일일히 넣어주기는 귀찮았다. permutation 함수를 써서 자동으로 모든 순열을 구할 수 있었다. (1 2 3 4로 기본 순서가 정해져있었다면 1 2 4 3 / 1 4 2 3 / 1 4 3 2 / 2 1 3 4 등 모든 순열을 구함) - next_permutation : 현재 나와있는 수열에서 범위에 해당하는 다음 순열을 구하고 true를 반환한다. 다음 순열이 없다면 flase를 반환 - prev_permutation : 현재 나와있는 수열에서 범위에 해당하는 이전 순열을 구하고 true를 반환한다. 이전 순열이 ..

삼성 역량테스트를 C++로 준비하며 필요한 input의 방법들을 공부하며 정리해봤다. 1. 길이를 알고있는 숫자를 입력하고 이를 한글자씩 잘라서 input을 받아야 하는 상황 ex) 입력 : 길이 7의 숫자 1234567를 한번에 입력해야되고, 이를 1 / 2 / 3 / 4 / 5 / 6 / 7 이렇게 따로 받아야 되는상황 int a[7]; for(int i=0;i> a; for (int i = 0; i < a.size(); i++) { temp += a[i] - '0'; } return 0; } 3. 공백을 포함해서 받는방법 ex) 입력 : "abc de fg" 를 name에 한번에 저장하기 string name; getline(cin,name); char name[1000]; gets_s(name,1..
C++ standard header는 뒤에 .h 형태의 확장자가 붙지않게끔 명명되어있는데 기존 C standard header 들이 C++로 넘어오면서 .h가 떼지고 앞에 c가 붙게되었다. 따라서 cmath 도 math.h에서 넘어오게 된 것인데 사용이 완전히 동일한 것은 아니다. 사용법과 기본 주요 함수들을 알아보자 pow (제곱함수) double pow (double a, double b) pow(10,2)// = 10^2 sqrt (제곱근함수) double sqrt(double x) sqrt(4)// = 2 ceil (올림) ceil(3.14)// = 4 floor (내림) floor(1.89)// =2 floor(a+0.5) (반올림) flo..
priority_queue란 자료구조에서 우선순위큐는 먼저들어간데이터에 상관없이 우선순위가 높은 데이터가 먼저 반환되는 구조이다. C++ STL에서 priority_queue를 이용하여 쉽게 구현해낼 수 있다. vector container 기반으로 내부구조가 설정되어있다. priority_queue사용 #include 선언 priority_queue변수명; priority_queuepq; 기본 사용 pq.push(element) // 우선순위큐에 원소 추가 pq.pop() //우선순위큐에서 top의 원소를 삭제 pq.top() //top에 있는 원소를 반환 pq.empty() //비어있으면 true 아니면 false 반환 pq.size() //우선순위큐에 포함되어있는 원소들의 수를 반환 기본적으로 ..
deque container란 deque는 vector container의 단점을 보완하기 위해서 만들어진 container이다. vector와 마찬가지로 list구조. vector는 새로운 원소가 추가될 때 메모리 재할당 후 이전원소를 복사하는 방식으로쓰여 삽입,제거 시 성능이 저하되었다. 이에 deque는 여러개의 메모리 블록을 할당하고 하나의 블록처럼 여기는 기능을 제공한다. - deque는 메모리가 부족할때마다 일정한 크기의 새로운 메모리블록을 할당함으로써 이전 원소를 복사X deque 사용 #include 선언 deque변수명 dequedq; 사용 dq.front() //첫번째 원소를 참조 dq.back() //맨 마지막 원소를 참조 dq.clear() //모든 원소를 제거 dq.assign..
map container란 key와 value가 쌍으로 저장되는 노드기반 이진트리구조 container이다. 이에 반해 vector는 key없이 value만 list형태로 저장된다. key는 고유한 값이므로 중복이 불가능하다. 삽입이 되면서 자동으로 정렬된다. (defalut : 오름차순) map 사용 #include 선언 map m; //map을 key,value의 자료형으로 선언해준다. map m; 사용 m[key] = val //로 원소를 추가 또는 수정할 수 있다. m.begin() //맨 첫번째 원소를 가리키는 반복자를 리턴한다. m.end() //맨 마지막 원소를 가리키는 원소의 끝부분을 알때 사용한다. 반복자를 리턴한다. m.insert(make_pair(key,value)) //원소를 ..
메모리를 조작하는 함수로는 대표적으로 memset, memcpy, memmove, memcmp 등이 있다. 그 중 메모리를 초기화하는 memset을 알아본다. memset함수란 메모리의 내용을 원하는 크기만큼 특정 값으로 세팅할 수 있는 함수이다. memory + setting 알고리즘 문제에서는 여러 번의 케이스를 수행해야 할 경우에 배열 등을 초기화 하는데에 이용한다. #include or #include 함수 원형 void* memset(void *ptr, int value, size_t num); - ptr은 시작주소 - value는 메모리에 세팅하고자 하는 값 - num은 길이 //길이xsizeof(타입) 으로 사용하곤한다. 함수 사용 #define NUM 10 int visit[NUM] = {..
queue란 자료구조의 한가지로 FIFO구조로 데이터를 저장하는 방식 queue의 사용 #include 선언 queue변수; queueq1; 사용 q1.push(element) //큐에 원소를 추가한다. (뒤에 추가하는것) q1.pop() //큐에 있는 원소를 삭제한다 (넣은지 가장 오래된 원소를 삭제하는것) q1.front() //큐 제일 앞에 있는 원소를 반환한다 q1.back() //큐 제일 뒤에 있는 원소를 반환한다. q1.empty() //큐의 사이즈를 반환한다. pair / struct / tuple 과 같이 사용하는 방법은 아래의 링크에 같이 설명되어있다. dbstndi6316.tistory.com/30 [개념정리] deque container deque container란 deque..