본문 바로가기
반응형
[PCCP] Lv3: 표 편집(81303) 해설 문제- 문제 링크: 표 편집 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)- N: 표의 행 길이- 벡터를 초기화할 때 시간 복잡도는 O(N)- 제약사항을 보면 명령어 뒤의 X의 모든 합이 100만을 넘지 않으므로 명령어 처리시 시간복잡도는 O(1,000,000)_- 최종 시간 복잡도: O(N)더보기#include #include #include using namespace std;string solution(int n, int k, vector cmd) { // 삭제된 행의 인덱스 저장 sta.. 2024. 12. 24.
[PCCP] Lv1: 크레인 인형 뽑기 게임(64061) 해설 문제- 문제 링크: 크레인 인형 뽑기 게임 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)- N: board의 행 혹은 열의 길이- M: moves의 길이- board를 순회하는 과정은 O(N^2)- moves를 순회하는 과정은 O(M)- 총 시간 복잡도: O(N^2 + M)더보기#include #include using namespace std;int solution(vector> board, vector moves) { // 보드 열 크기만큼 스택 생성 stack lanes[board[0]... 2024. 12. 24.
[PCCP] Lv2: 주식 가격(42584) 해설 문제- 문제 링크: 주식 가격 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)- N: prices의 길이- 최악의 경우 각 prices의 원소들은 한 번씩 푸시/팝하므로 시간 복잡도는 O(N)더보기#include #include #include using namespace std;vector solution(vector prices) { // 가격이 떨어지지 않은 기간을 저장한 벡터 vector answer(prices.size()); // 스택에는 prices의 인덱스가 들어감. 이전 가.. 2024. 12. 24.
[PCCP] Lv2: 짝지어 제거하기(12973) 해설 문제- 문제 링크: 짝지어 제거하기 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)- N: s의 길이- 문자열의 모든 문자를 한 번씩 순회하므로 시간 복잡도는 O(N)더보기#include #include using namespace std;int solution(string s) { stack st; for (int i = 0; i solution 2)더보기#include #include #include using namespace std;int solution(string s){ .. 2024. 12. 24.
[PCCP] Lv2: 괄호 회전하기(76502) 해설 문제- 문제 링크: 괄호 회전하기 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)- N: s의 길이- 각 문자열을 순회하면 N개의 케이스가 생기고 각 문자열마다 올바른 괄호 여부를 체크하므로 시간 복잡도는 O(N^2)더보기#include #include #include #include using namespace std;// 닫힌 괄호의 짝을 바로 확인할 수 있도록 맵 선언unordered_map bracketPair = {{')', '('}, {']', '['}, {'}', '{'}};// 인수로 받은 문자열.. 2024. 12. 24.
[PCCP] 자료구조 - 스택 1. 이론- 스택(stack): 먼저 입력한 데이터를 제일 나중에 꺼냄(FILO: First In Last Out)- 삽입 연산을 push, 꺼내는 연산을 pop- 스택 ADT: 삽입(push), 꺼내기/삭제(pop), isFull(), isEmpty(), top(최근 데이터 인덱스), data(데이터 저장공간) (시간복잡도)- - 삽입: O(1)- 삭제: O(1) (선택시 고려할 점)- 최근에 삽입한 데이터를 자주 사용하는 경우-  2. 프로그램 언어별 문법- 스택 선언 및 초기화- 스택 접근(top)- 스택 제어: 삽입(push), 삭제(pop)   더보기#include /* 스택 생성 및 초기화 */stack st;/* 삽입 */st.push(값); // 요소 삽입/* 삭제 */st.pop(); /.. 2024. 12. 14.
[코딩테스트] 스택 스택- FILO(First In Last Out): 먼저 들어간 데이터가 나중에 나오는 구조- 함수 호출시 메모리의 스택에 사용 stack 다루기#include int main(int argc, char** argv) { /* stack 선언 및 초기화 */ stack s; /* 추가 및 삭제 */ s.push(val); s.pop(); /* 조회 */ while (!s.empty()) { std::cout 문제 추천- 괄호 회전하기(Lv2)- 짝지어 제거하기(Lv2)- 주식 가격(Lv2)- 크레인 인형 뽑기 게임(Lv1)- 표 편집(Lv3)+)- 같은 숫자는 싫어(Lv1)- 올바른 괄호(Lv2)- 컨트롤 제트(Lv0) 2024. 7. 9.
반응형