프로그래밍/C, C++ 6

[C++] 2차원 vector

프로그래머스 level1의 행렬의 덧셈 문제를 풀다 찾게 되었다. vector v; 위와 같이 선언시 2차원 벡터를 사용할 수 있다. v[0][0] = 5; 와 같이 바로 사용하면 에러가 발생한다. 크기가 할당되지 않았기 때문일까..? 더 찾아봐야겠다. vector v; vector vec; v.push_back(vec); 위와 같은 형태로 자료형에 맞게 넣어줘야한다. 위와같이 넣어준 후 2차원 배열과 같은 방식으로 벡터에 접근할 수 있게 된다고 한다. 혹은 vector v(10, vector(10, 0); 위와 같이 초기화를 한 후 2차원 벡터로 접근하여 값을 변경하도록 해야한다. 참고 URL https://leeeegun.tistory.com/3

[STL] Queue

* FIFO 구조 생각하면서 보기 멤버함수 q.push(element) 큐에 원소 추가 q.pop() 큐에 있는 원소 삭제 q.front() 큐 제일 앞에 있는 원소 반환 q.back() 큐 제일 뒤에 있는 원소 반환 q.empty() 큐가 비었으면 true, 아니면 false 반환 q.size() 큐 길이 반환 +++ 큐가 비었을때 pop() 사용지 에러 발생 큐가 비었을 때 front() 사용시 지정하지 않은 행동 함 -> 꼭 비었는지 확인하고 사용 참고한 URL https://hamait.tistory.com/13 https://twpower.github.io/76-how-to-use-queue-in-cpp https://dpdpwl.tistory.com/67

리터럴 접미사

리터럴(Literal) 상수 코드에 직접 삽입된 값 변경할 수 없기 때문에 상수이다. 정수 리터럴 접미사 자료형 접미사 int 없음 unsigned int u, U long l, L unsigned long ul, UL long long ll, LL unsigned long long ull, ULL 사용 예 # 프로그래머스 1주차 문제중에서 # 1LL = (long long)1 long long solution(int price, int money, int count) { long long required = 1LL * price * count * (count + 1) / 2; } 실수 리터럴 접미사 자료형 접미사 float f, F double 없음 long double l, L 참고 URL https..