전체 글
-
실패율 C++프로그래머스(Programmers) 2022. 1. 5. 00:09
제한사항 스테이지의 개수 N은 1 이상 500 이하의 자연수이다. stages의 길이는 1 이상 200,000 이하이다. stages에는 1 이상 N + 1 이하의 자연수가 담겨있다. 각 자연수는 사용자가 현재 도전 중인 스테이지의 번호를 나타낸다. 단, N + 1 은 마지막 스테이지(N 번째 스테이지) 까지 클리어 한 사용자를 나타낸다. 만약 실패율이 같은 스테이지가 있다면 작은 번호의 스테이지가 먼저 오도록 하면 된다. 스테이지에 도달한 유저가 없는 경우 해당 스테이지의 실패율은 0 으로 정의한다. 입출력 예 N stages result 5 [2, 1, 2, 6, 2, 4, 3, 3] [3,4,2,1,5] 4 [4,4,4,4,4] [4,1,2,3] 입출력 예 설명 입출력 예 #1 1번 스테이지에는 총..
-
N으로 표현 C++프로그래머스(Programmers) 2022. 1. 2. 10:45
입출력 예 N number return 5 12 4 2 11 3 입출력 예 설명 예제 #1 문제에 나온 예와 같습니다. 예제 #2 11 = 22 / 2와 같이 2를 3번만 사용하여 표현할 수 있습니다. #include #include #include #include // unorderd_set사용 using namespace std; int get_basic(int N, int cnt) { int res = 0; while (cnt > 0) { cnt -= 1; res += N * pow(10, cnt); } return res; } int solution(int N, int number) { int answer = -1; vector s(8); int idx=1; if(N == number) { ret..
-
C++ String Replace 함수유용한 정보 2022. 1. 1. 00:47
1. 헤더 선언 #include => string 헤더에 포함된 함수이므로 string헤더를 참조해야 합니다. 2. 사용법 S.replace(시작점, 변환할 갯수, 대체할 문자열); => 위와 같이 시작점, 변환할 개수, 대체할 문자열을 대입하여 주어진 String에서 replace함수를 사용할 수 있습니다. 3. 예제 #include #include #include #include #include #include #include #include using namespace std; int main() { string s("you are the apple of my eye."); s.replace(0,3,"We"); cout
-
짝지어 제거하기 C++프로그래머스(Programmers) 2021. 12. 31. 00:31
입출력 예 s result baabaa 1 cdcd 0 입출력 예 설명 입출력 예 #1 위의 예시와 같습니다. 입출력 예 #2 문자열이 남아있지만 짝지어 제거할 수 있는 문자열이 더 이상 존재하지 않기 때문에 0을 반환합니다. #include #include #include using namespace std; int solution(string s) { int answer = 0; stack st; for(int i=0; i 효율성과 정확성을 위해 stack을 사용하면 간단한 문제였습니다. *저는 pair를 사용하면서 비교를 하다 보니 효율성에서도 정확성에서도 틀리고 말았습니다. (그래도 replace 함수 공부는 하게 되었습니다.) => 질문글들을 보면 stack에 쌓으며 가장 위에 있는 값과 현재 ..
-
체육복 C++프로그래머스(Programmers) 2021. 12. 30. 00:21
입출력 예 n lost reserve return 5 [2, 4] [1, 3, 5] 5 5 [2, 4] [3] 4 3 [3] [1] 2 입출력 예 설명 예제 #1 1번 학생이 2번 학생에게 체육복을 빌려주고, 3번 학생이나 5번 학생이 4번 학생에게 체육복을 빌려주면 학생 5명이 체육수업을 들을 수 있습니다. 예제 #2 3번 학생이 2번 학생이나 4번 학생에게 체육복을 빌려주면 학생 4명이 체육수업을 들을 수 있습니다. #include #include #include #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer=0; bool lostArr[31]={false}; bool..
-
C, C++ memset 함수 사용법유용한 정보 2021. 12. 29. 12:05
memset함수란? => 어떠한 메모리의 시작점부터 내가 지정한 위치까지 내가 원하는 값으로 저장하고 싶을 때 사용하는 함수입니다. 참조해야 할 HEADER => memory.h 혹은 string.h를 참조하면 됩니다. #include #include 함수 원형 void* memset(void* ptr, int value, size_t num); ptr : 초기화 시작한 포인터 주소 value : 초기화할 값 num : 포인터 주소로부터 초기화할 값 => "길이 * sizeof(데이터 타입)"의 형식으로 사용이 가능 => 4 * sizeof(int) 예제 int main() { int arr[]= {1,2,3,4,5,6,7,8,9,10}; for(auto i : arr) { cout
-
카카오프렌즈 컬러링 북 C++프로그래머스(Programmers) 2021. 12. 28. 10:45
예제 입출력 m n picture answer 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] 예제에 대한 설명 예제로 주어진 그림은 총 4개의 영역으로 구성되어 있으며, 왼쪽 위의 영역과 오른쪽의 영역은 모두 1로 구성되어 있지만 상하좌우로 이어져있지 않으므로 다른 영역이다. 가장 넓은 영역은 왼쪽 위 1이 차지하는 영역으로 총 5칸이다. #include #include #include #include using namespace std; int arr[101][101]; int UpDownLeftRight [4][2] ={{1,0},{-1,0},{0,1},{0,-1} }; vec..
-
우선순위 큐 HEAP ||C++ STL priority queue유용한 정보 2021. 12. 24. 01:50
1. 힙(Heap) (1) 완전 이진트리 (2) 모든 노드에 저장된 값(우선순위)들은 자식 노드들의 것보다 (우선순위가) 크거나 같다. ※ 직접 연결된 자식-부모 노드 간의 크기만 비교하면 됩니다. => max Heap 이냐 min Heap이냐에 따라 맨 위에 위치하는 노드의 값이 가장 크거나 작습니다. 2. 우선순위 큐 (Priority Queue) max Heap과 min Heap의 경우 C++의 queue 헤더를 이용하여 코드상 구현할 수 있습니다. (1) queue 헤더를 선언해줍니다. #include (2) 변수를 선언해줍니다. 선언하는 방법이 다소 어려우니 외워두면 좋습니다. priority_queue pq; // max Heap default priority_queue pq; //max He..