본문 바로가기
반응형
[PCCP] Lv1: 카드 뭉치(159994) 해설 문제- 문제 링크: 카드 뭉치 해설- 자료구조: - 시간복잡도:  (풀이과정)1) goal의 front와 cards1의 front 또는 goal의 front와 cards2의 front를 비교1-1) 사용할 수 있는 카드가 있다면 해당 큐와 goal에서 pop을 수행 1-2) 사용할 수 있는 카드가 있다면 동작하지 않음 1-3) cards1, cards2 중 빈곳은 테크하지 않음  코드(C언어)solution 1)더보기#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)- N: cards1과 cards2의 길이- M: goal의 길이- cards1와 cards2, goal을 큐로 변환하기 위한 시간 복잡도는 O(N + M)- 반복문에서.. 2024. 12. 24.
[PCCP] Lv2: 기능개발(42586) 해설 문제- 문제 링크: 기능개발 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 각 작업의 배포 가능일 구하기2) 배포 가능일이 첫번째 작업일보다 빠르면 동시에 배포3) 첫번째 작업일보다 늦은 작업일이 존재한다면 2번과정과 유사하게 해당 작업일 이후의 작업들을 묶어서 배포4) 위의 과정 반복 코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)- N: progresses의 길이- day_left 벡터를 생성하기 위한 시간 복잡도: O(N)- day_left의 각 요소를 한 번씩 순회할 때의 시간 복잡도: O(N)- 최종 시간 복잡도: O(N)더보기#include #include .. 2024. 12. 24.
[PCCP] 자료구조 - 큐 1. 이론- 큐(queue): 먼저 들어간 데이터가 먼저 나오는 자료구조(FIFO: First In First Out)- 삽입 연산을 enqueue, 꺼내는 연산을 dequeue- 큐 ADT: push(삽입), pop(꺼내기), isFull(), isEmpty(), front(오래된 삽입 데이터), rear(최근 삽입 데이터), data(데이터 저장공간)- 큐 활용 분야: 작업 대기열, 로드밸런서, 이벤트 처리 (시간복잡도)- 임의 접근: - 삽입: - 삭제:  (선택시 고려할 점)-   2. 프로그램 언어별 문법- 큐 선언 및 초기화- 큐 접근: 맨 앞(front), 맨 뒤(rear)- 큐 제어: 삽입(push), 삭제(pop)   더보기#include /* 큐 생성 및 초기화 */std::queue .. 2024. 12. 14.
[코딩테스트] 큐 큐- FIFO(First In First Out): 먼저 들어간 데이터가 먼저 나오는 구조- 작업 대기열이나 이벤트 처리에 사용 queue 다루기#include int main(int argc, char** argv) { /* queue 생성 및 초기화 */ queue q; /* 삽입 */ q.push(val); /* 삭제 */ q.pop(); /* 조회 */ while (!q.empty()) { std::cout 문제 추천- 기능 개발(Lv2)- 카드 뭉치(Lv1)+) - 다리를 지나는 트럭(Lv2) 2024. 7. 9.
반응형