전체 글(183)
-
C++ - 수식 함수들
Header : , 1. pow ( 제곱 함수 ) double pow ( double a, double b ) pow(10,2) // -> 10의 제곱. 2. sqrt ( 제곱근 함수 ) double sqrt ( double x ) sqrt(4) // -> 2 3. ceil ( 올림 ) ceil(3.14) // -> 4 4. floor ( 내림 ), floor ( a+0.5 ) -> 반올림 floor(1.89) // -> 1 floor(1.89+0.5) // -> 2 헤더 cstdlib 에 있는 함수들 . 1. int abs ( 절대값 ) int abs(int num); long int abs(long int num); long long int abs(long long int num); 2. min, m..
2022.08.07 -
C++ - deque
Deque는 vector 의 단점을 보완하기 위해 만들어진 컨테이너라고 한다. 동일하게 배열 기반의 구조이고, 벡터의 단점인 동적 할당 과정을 보완했는데, 벡터처럼 새로 재할당 후 원소를 복사하는것이 아니고, * 새로 일정한 크기의 메모리 블록을 할당 함으로써 이전 원소를 복사하지 않는다. * 데이터의 삽입 삭제를 front, back에서 할 수 있다. * deque 중간에 원소를 삽입하거나 삭제 가능하다. (push_back, push_front, pop_back, pop_front.... 엥 다 할수 있잖아..?) 연습용으로 아래 포스팅의 다양한 예제들 한번씩 입력해보자... ! # 앞뒤 값 삽입 그리고 역순 출력 # #include #include using namespace std; int mai..
2022.08.07 -
c++ - stack/queue
c++ stack의 헤더는, #include 이다. stack은 LIFO(Last In First Out) 후입 선출 ! 근데 stack 은 코테에서 많이 안쓰는 것 같다. 왜냐면 stack 의 단점이 있기 때문인데, vector처럼 [] 해당 요소 접근이 불가하다는 점 때문인듯. stack 선언 : stack stk; stack 삽입/삭제 : push(i) , pop(); -> 스택의 pop은 맨 위의 값을 pop한다. 큐의 pop은 맨 앞의 원소를 삭제한다. stack의 꼭대기값, 비었는지 확인하는 함수 : top(), empty() queue 도 쓰는 것 비슷하다. 근데 queue는 확실히 안쓰고, deque를 주로 쓴다고 한다. 왜냐면 보니까 deque()에 왠만한 함수 다 있다 ! #includ..
2022.08.07 -
C++ - list
list 의 헤더는 #include 이다. 리스트는 아시다시피 양방향 연결구조를 가진 자료형이다. 벡터의 단점은 임의의 위치에 원소를 추가하려면 그 위치를 찾아가서 삽입/제거 해야하기때문에 시간 복잡도가 O(n)이지만, 리스트는 O(1)이다. vector와 다른점은, 위치를 이동할때 (loop 쓸때) lst + 5 요런건 불가능하다는거다. (vec.begin() + 5 이런것.. ) 함수는 vector와 동일한듯. push_back, pop_back... #include #include using namespace std; int main() { list lst; //list pointer 선언.. list::iterator iter = lst.begin(); for(int i = 0; i < 5; i+..
2022.08.06 -
C++ - vector
C++ 에서는 , 정적배열 선언시 배열의 크기를 정해야하는 단점을 보완한 것이라고한다. 애초에 동적배열 . vector는 push_back() , pop_back() 로 삽입과 삭제가 이루어진다. vector 배열의 size는 vec.size() 로 정의된다. vector 자료형은 값이 추가가 될 때마다 공간을 늘려가며 할당을 하므로, 더 큰 여유공간을 할당해둔다. 이걸 vec.capacity()라고 한다. 우선 자주 쓰이는 함수를 정리해보자. 임의의 위치 원소 접근 : vec.at[i] (시간복잡도 : O(1)) 원소 추가 및 제거 : push_back(i) / pop_back(i) (시간복잡도 : O(1)) 임의의 위치 원소 추가 및 제거 : insert(vec.begin() + 2, 15), era..
2022.08.06 -
Denzel washington's speech
keep working, keep striving, never give up. fall down seven times, get up eight. ease is a greater threat to progress than hardship. so people moving keep growing keep learning. 근래에 시험을 보고 나서 살짝 번아웃 되고 이런 저런 생각이 많았는데, 미국 시상식 영상을 보면서 , 덴젤 워싱턴의 스피치를 보게되었다. 대단한 분이고, 한 분야에서 2-30년을 종사한 사람들이다. 이런 분들은 얼마나 많은 노력을 했을까? 비록 이번에 나는 실패했지만, 시도 조차 안했다면 난 한발짝 더 나아가지 못했을 것이다. 살짝 늦은감이 있지만, 더 늦지 않기위해 지금 부터라도 최선을 다..
2022.08.06 -
22-08-05
개발자로서, 일해온 나의 지난 날들을 되새겨보는 시간을 가져보는 ... 지난 한 달 이었다. 많은 생각이 교차했고, 왜 미리 하지않았을까 후회도 되고. 반성을 많이 했던 것 같다. 기회는 올때 잡아야하는데, 이런 기회가 또 올까 ? 싶고. 영어 잘하면 뭐하나... 싶다가도 영어도 안됐으면 이런 기회가 왔을까 싶고. 그래........ ! 아직 난 어려 ! 정신승리로 간드아 . ! ㅠㅅㅠ 가즈아 !!!!!!! 할수 있을거야..... !
2022.08.05 -
1678. Goal Parser Interpretation (C/C++)
You own a Goal Parser that can interpret a string command. The command consists of an alphabet of "G", "()" and/or "(al)" in some order. The Goal Parser will interpret "G" as the string "G", "()" as the string "o", and "(al)" as the string "al". The interpreted strings are then concatenated in the original order. Given the string command, return the Goal Parser's interpretation of command. Examp..
2022.08.04 -
vector & array
# header: #include 배열 대체용품. 일일히 정의해줄필요없이 유용한 함수들이 많다. #include #include using namespace std; int main() { int N; cin >> N; //테스트케이스 N vector v; //벡터 정의 for (int i = 0; i >a; v.push_back(a); } for (int i = 0; i > c; int **arr; arr = new int*[r]; for(int i = 0; i < c; i++) { arr[i] = new int[c]; } for(int i = 0 ; i < r; i++) ..
2022.08.04