본문 바로가기
반응형
[PCCP] Lv1: 크레인 인형 뽑기 게임(64061) 해설 문제- 문제 링크: 크레인 인형 뽑기 게임 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)더보기#include #include using namespace std;int solution(vector> board, vector moves) { int answer = 0; vector stack; int tmp = 0; for (int i = 0; i 0) { stack.pop_back(); .. 2024. 12. 24.
[PCCP] Lv2: 주식 가격(42584) 해설 문제- 문제 링크: 주식 가격 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)더보기#include #include using namespace std;// cnt++ 위치 주의!!vector solution(vector prices) { vector answer; for (int i = 0; i prices[j] || i == prices.size() - 1) break; } answer.push_back(cnt); } r.. 2024. 12. 24.
[PCCP] Lv2: 짝지어 제거하기(12973) 해설 문제- 문제 링크: 짝지어 제거하기 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)더보기#include #include #include using namespace std;int solution(string s){ int answer = 0; stack stk; for (int i = 0; i solution 2)더보기#includesolution 3)더보기#include (C#)solution 1)더보기dsolution 2)더보기#includesolution 3)더보기#includ.. 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] Lv2: N^2 배열자르기(87390) 해설 문제- 문제 링크: 배열자르기 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#include #include #include int* solution(int n, long long left, long long right) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int* answer = (int*)malloc(sizeof(int)*(right-left+1)); int quo = 0; int rem = 0; for (long long i = 0; i = rem) answer[i] = quo + 1; .. 2024. 12. 23.
[PCCP] Lv0: 배열의 평균값(120817) 해설 문제- 문제 링크: 배열의 평균값 해설- 자료구조: - 시간복잡도: (풀이과정) 1) 배열의 합을 구함2) 배열의 길이를 구함3) 배열의 합을 배열의 길이로 나누어 결과에 저장4) 결과 반환 코드(C언어)더보기#include #include #include // numbers_len은 배열 numbers의 길이입니다.double solution(int numbers[], size_t numbers_len) { double answer = 0; double sum = 0; for (int i = 0; i  (C++)더보기#include #include using namespace std;double solution(vector numbers) { double answer = 0.. 2024. 12. 23.
[PCCP] Lv2: 방문 길이(49994) 해설 문제- 문제 링크: 방문 길이 해설- 자료구조: - 시간복잡도:  (풀이과정)- 중복 경로 처리- 음수 좌표 처리- 기능별 함수 구현1) 2) 3) 4)  코드(C언어)solution 1)더보기solution 1#includesolution 2)더보기#includesolution 3)더보기#include (C++)solution 1)- N: dirs의 길이- dirs의 길이만큼 순회: O(N)더보기#include using namespace std;// 특정 좌표에서 특정 방향으로 이동한 적이 있는지 체크bool visited[11][11][4];// 상하좌우로 좌표를 이동할 때 필요한 좌표 오프셋 배열int dx[] = {0, 1, 0, -1};int dy[] = {-1, 0, 1, 0};// 각 문자.. 2024. 12. 23.
[PCCP] Lv2: 행렬의 곱셈(12949) 해설 문제- 문제 링크: 행렬의 곱셈 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)  (C++) solution 1)- N: 행 혹은 열의 길이- r1는 arr1의 행의 수, c1는 arr1의 열의 수- r2는 arr2의 행의 수, c2는 arr2의 열의 수- 총 r1 * c1 * c2만큼 연산- 최종 시간 복잡도: O(N^3)더보기#include #include using namespace std;vector> solution(vector> arr1, vector> arr2) { // 최종 행렬 곱의 결과를 저장할 벡터 선언 vector> answer; // arr1과 arr2의 행렬 곱을 수행했을 때 최종 행렬의 크기만큼 공간 할당 answ.. 2024. 12. 23.
[PCCP] Lv1: 실패율(42889) 해설 문제- 문제 링크: 실패율 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 2) 3) 4)  코드(C언어)solution 1)  solution 2) solution 3)  (C++)solution 1)- N: 스테이지 개수- M: stages의 길이- 각 스테이지의 인원을 기준으로 특정 스테이지에서 실패한 인원수와 각 스테이지에 도전한 적이 있는 인원수를 구하는 과정: O(N*M)- 이후 실패율을 구할 떄 시간 복잡도: O(N)- 이를 정렬할 때 시간 복잡도: O(NlogN)- 최종 시간 복잡도: O(N*M + NlogN)더보기#include #include using namespace std;// 문제에서 요구하는 조건대로 실패율을 정렬하는 함수bool compare(pari& a, pair& b.. 2024. 12. 23.
[PCCP] Lv1: 모의고사(42840) 해설 문제- 문제 링크: 모의고사 해설- 자료구조: - 시간복잡도:  (풀이과정)1) 수포자별 패턴 정의2) 수포자별 맞힌 문제 개수 기록3) 가장 많은 문제를 맞힌 수포자 기록 코드(C언어)  (C++) solution 1)- N: answers의 길이- 각 수포자들 패턴과 정답 비교: O(N)- scores 순회하며 가장 높은 점수 탐색하여 수포자 추가 연산: O(1)- 최종 시간 복잡도: O(N)더보기#include #include #include using namespace std;// 각 수포자 패턴 정의vector first = {1, 2, 3, 4, 5};vector second = {2, 1, 2, 3, 2, 4, 2, 5};vector third = {3, 3, 1, 1, 2, 2, 4, 4,.. 2024. 12. 23.
반응형