diff --git a/STL/priority_queue.cpp b/STL/priority_queue.cpp index a79cc33..cc1d498 100644 --- a/STL/priority_queue.cpp +++ b/STL/priority_queue.cpp @@ -34,7 +34,7 @@ int main() { // size: O(1) cout << pq.size() << endl; // 출력: 2 - // 순회 (힙의 순서대로, 정렬된 순서가 아님): O(n) + // 힙의 우선순위에 따라 순회 : O(n) while(!pq.empty()) { cout << pq.top() << " "; // 출력: 3 1 pq.pop(); diff --git a/STL/stack.cpp b/STL/stack.cpp index 4464200..25260fd 100644 --- a/STL/stack.cpp +++ b/STL/stack.cpp @@ -18,12 +18,12 @@ int main() { // 맨 위 원소 확인 cout << "Top element: " << s.top() << endl; // 출력: 3 - // top: 스택의 맨 위 원소를 반환합니다. 스택이 비어 있으면 예외를 던집니다. 예를 들어, 현재 스택의 상태는 [1, 2, 3]이므로 top()은 3을 반환합니다. 시간복잡도: O(1) + // top: 스택의 맨 위 원소를 반환합니다. 스택이 비어 있있을 때 호출하는 것은 undefined behavior입니다. 예를 들어, 현재 스택의 상태는 [1, 2, 3]이므로 top()은 3을 반환합니다. 시간복잡도: O(1) // 원소 삭제 - s.pop(); // pop: 스택의 맨 위 원소를 제거합니다. 스택이 비어 있으면 예외를 던집니다. 예를 들어, 현재 스택의 상태는 [1, 2, 3]이므로 pop()은 3을 제거하여 [1, 2]가 됩니다. 시간복잡도: O(1) + s.pop(); // pop: 스택의 맨 위 원소를 제거합니다. 스택이 비어 있있을 때 호출하는 것은 undefined behavior입니다. 예를 들어, 현재 스택의 상태는 [1, 2, 3]이므로 pop()은 3을 제거하여 [1, 2]가 됩니다. 시간복잡도: O(1) cout << "Top element after pop: " << s.top() << endl; // 출력: 2 - // top: 스택의 맨 위 원소를 반환합니다. 스택이 비어 있으면 예외를 던집니다. 예를 들어, 현재 스택의 상태는 [1, 2]이므로 top()은 2를 반환합니다. 시간복잡도: O(1) + // top: 스택의 맨 위 원소를 반환합니다. 스택이 비어 있있을 때 호출하는 것은 undefined behavior입니다. 예를 들어, 현재 스택의 상태는 [1, 2]이므로 top()은 2를 반환합니다. 시간복잡도: O(1) // 스택이 비어있는지 확인 if (!s.empty()) { @@ -57,7 +57,7 @@ int main() { * 예를 들어, push(3)를 호출하면 스택의 상태는 [1, 2, 3]이 됩니다. 시간복잡도: O(1) * - pop: 스택의 맨 위 원소를 제거합니다. 가장 최근에 추가된 원소가 제거됩니다. * 예를 들어, pop()을 호출하면 스택의 상태는 [1, 2]가 됩니다. 시간복잡도: O(1) -* - top: 스택의 맨 위 원소를 반환합니다. 스택이 비어 있으면 예외를 던집니다. +* - top: 스택의 맨 위 원소를 반환합니다. 스택이 비어 있있을 때 호출하는 것은 undefined behavior입니다. * 예를 들어, top()을 호출하면 현재 스택의 맨 위 원소 2가 반환됩니다. 시간복잡도: O(1) * - empty: 스택이 비어 있는지 여부를 확인합니다. 스택이 비어 있으면 true, 아니면 false를 반환합니다. * 예를 들어, 스택이 비어 있지 않으면 empty()는 false를 반환합니다. 시간복잡도: O(1) diff --git a/solution/ReadMe.md b/solution/ReadMe.md index 5125d3d..f1934d6 100644 --- a/solution/ReadMe.md +++ b/solution/ReadMe.md @@ -44,13 +44,12 @@ |[23.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/23.cpp)|할인 행사|⭐⭐|https://school.programmers.co.kr/learn/courses/30/lessons/131127| |[24.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/24.cpp)|오픈 채팅방|⭐⭐|https://programmers.co.kr/learn/courses/30/lessons/42888| |[25.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/25.cpp)|베스트 앨범|⭐⭐| https://programmers.co.kr/learn/courses/30/lessons/42579| - +|[26.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/26.cpp)|신고 결과 받기|⭐⭐|https://programmers.co.kr/learn/courses/30/lessons/92334| +|[27.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/27.cpp)|메뉴 리뉴얼|⭐⭐⭐|https://programmers.co.kr/learn/courses/30/lessons/72411| ## 09장 트리 | 파일명 | 문제 |난이도| 비고 | |------|------|------|------| -|[26.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/26.cpp)|신고 결과 받기|⭐⭐|https://programmers.co.kr/learn/courses/30/lessons/92334| -|[27.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/27.cpp)|메뉴 리뉴얼|⭐⭐⭐|https://programmers.co.kr/learn/courses/30/lessons/72411| |[28.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/28.cpp)|트리 순회|⭐⭐|저자 출제| |[29.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/29.cpp)|이진 탐색 트리 구현|⭐⭐⭐|저자 출제| |[30.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/30.cpp)|예상 대진표|⭐|https://programmers.co.kr/learn/courses/30/lessons/12985| @@ -64,13 +63,14 @@ |[33.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/33.cpp)|간단한 유니온-파인드 알고리즘 구현하기|⭐⭐|저자 출제| |[34.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/34.cpp)|폰켓몬|⭐|https://programmers.co.kr/learn/courses/30/lessons/1845| |[35.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/35.cpp)|섬 연결하기|⭐⭐⭐| https://school.programmers.co.kr/learn/courses/30/lessons/42861| -|[36.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/36.cpp)|깊이 우선 탐색으로 모든 노드를 순회하는 함수 작성하기|⭐|저자 출제| -|[37.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/37.cpp)|너비 우선 탐색으로 이용하여 모든 노드를 순회하는 함수 작성하기|⭐|저자 출제| + ## 11장 그래프 | 파일명 | 문제 |난이도| 비고 | |------|------|------|------| +|[36.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/36.cpp)|깊이 우선 탐색으로 모든 노드를 순회하는 함수 작성하기|⭐|저자 출제| +|[37.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/37.cpp)|너비 우선 탐색으로 이용하여 모든 노드를 순회하는 함수 작성하기|⭐|저자 출제| |[38.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/38.cpp)|다익스트라 알고리즘 구현하기|⭐⭐⭐|저자 출제| |[39.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/39.cpp)|벨만-포드 알고리즘 구현하기|⭐⭐⭐|저자 출제| |[40.cpp](https://github.com/dremdeveloper/codingtest_cpp/blob/main/solution/40.cpp)|미로 탈출|⭐⭐|https://school.programmers.co.kr/learn/courses/30/lessons/159993| diff --git "a/\354\240\225\354\230\244\355\221\234.md" "b/\354\240\225\354\230\244\355\221\234.md" index fc87ddf..81a690e 100644 --- "a/\354\240\225\354\230\244\355\221\234.md" +++ "b/\354\240\225\354\230\244\355\221\234.md" @@ -4,7 +4,7 @@ ## 정오표 업데이트 정보 -- **최종 업데이트**: 2024-05-31 +- **최종 업데이트**: 2025-03-28 - **문의 및 제보**: ultrasuperrok@gmail.com으로 제보해 주시거나 깃헙에 issue로 올려주시면 감사하겠습니다. ## 정오표 내용 @@ -14,4 +14,14 @@ | 240 | ![image](https://github.com/dremdeveloper/codingtest_cpp/assets/131899974/628081ed-f3ab-433c-8519-ab9c7cee8377) |![image](https://github.com/dremdeveloper/codingtest_cpp/assets/131899974/cfa0b24e-8ae1-4fce-9f03-94bc524358b3)| 좀 더 직관적인 표현으로 수정 | |359|![image](https://github.com/dremdeveloper/codingtest_cpp/assets/131899974/095f7e28-e022-45b7-8c86-9c627985827d)|![image](https://github.com/dremdeveloper/codingtest_cpp/assets/131899974/4ca4d827-e4f8-44cf-b8d9-2b4988c0b011)|오탈자 수정| |535|![image](https://github.com/user-attachments/assets/10dbc36f-49b5-4e0f-b79c-cc02605bb2a3)|![image](https://github.com/user-attachments/assets/42b678f7-472b-41db-92e4-b584ab7e9ace)|그림 수정| - +| 587 | ![image](https://github.com/user-attachments/assets/5ec175a7-c610-4c45-8d65-c450fe0e928b)|![image](https://github.com/user-attachments/assets/481412e7-cb54-4e3b-9d8d-42e6e5c62e38)|전체 데이터를 밀어내는 것이 아닙니다. 정렬을 유치한 상태에서 삽입될 위치를 찾기위해 정렬된 영역의 원소들을 오른쪽으로 하나씩 미는것입니다.| +| 82 | ![image](https://github.com/user-attachments/assets/16a81d58-cb8b-4b34-96c6-1131b7f54c1c)|![image](https://github.com/user-attachments/assets/b6faa1b8-d76a-4a28-a5c8-fc19765901d8)|소문자를 대문자로 변경| +| 595 |![image](https://github.com/user-attachments/assets/31d632fb-b6c5-49d2-915b-0683000b15f9)|![image](https://github.com/user-attachments/assets/8c27831b-c8ee-4592-8b11-fdfd4ed9c12d)|좀 더 친절하게 문구 추가| +| 598 |![image](https://github.com/user-attachments/assets/e63606b3-3143-4d05-b080-1a07a5db199a)|![image](https://github.com/user-attachments/assets/0bd50177-549e-42f1-a5d1-f5cbc45be60f)|2번째 인덱스 값 수정| +|530|유효한 답의 집합을 정의합니다.|해가 될 수 있는 잠재적 후보를 정의합니다.|오해 소지가 있는 표현 변경| +|530|정의한 집합을 그래프로 표현 합니다.|정의한 후보를 상태-공간 트리로 표현 합니다.|오해 소지가 있는 표현 변경| +|531|유효한 답의 집합을 정의합니다.|해가 될 수 있는 잠재적 후보를 정의합니다.|오해 소지가 있는 표현 변경| +|531|정의한 답의 집합을 그래프로 표현 합니다.|정의한 후보를 상태-공간 트리로 표현 합니다.|오해 소지가 있는 표현 변경| +|538|유효한 해의 집합을 정의합니다. 4행 4열의 칸이 있고 여기에 퀸을 놓을 수 있으므로 집합은 다음과 같이 표시할 수 있습니다.|해가 될 수 있는 잠재적 후보를 정의합니다. 4행 4열의 칸이 있고 여기에 퀸을 놓을 수 있으므로 아래와 같이 나타낼 수 있습니다.|오해 소지가 있는 표현 변경| +|539|앞서 본 것처럼 해의 집합을 그래프로 표현합니다.|정의한 후보를 상태-공간 트리로 표현 합니다.|오해 소지가 있는 표현 변경| +|594|![image](https://github.com/user-attachments/assets/dde3ca17-5d45-4785-8d56-1d1f9d3d7741)|![image](https://github.com/user-attachments/assets/cef3da62-8b1d-42c9-a4b8-784d1e3f77b6)|틀린 설명은 아니나, 인덱스 4에 해당 되는 노드의 걍우, 8 값을 지우고 7이되는걸로 표현해야 이해하기 쉬움|