쾌락없는 책임 (공부)/알고리즘 문제풀이
-
프로그래머스 Level 1 - 체육복 C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 4. 7. 11:34
코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = 0; int arr[31]; for(int i = 0; i < n; i++) arr[i] = 1; for(int i = 0; i < lost.size(); i++) arr[lost[i]-1]--; for(int i = 0; i < reserve.size(); i++) arr[rese..
-
프로그래머스 Level2 - 타겟 넘버 C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 4. 6. 09:27
코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr #include #include using namespace std; int answer = 0; void dfs(vector numbers, int target, int i, int sum){ int n = numbers.size(); if(i >= n){ if(sum == target) answer++; return; } // 0부터 시작을 했으니 dfs(numbers, target, i+1, sum+nu..
-
프로그래머스 Level2 - 주식가격 C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 4. 5. 19:55
코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr #include #include #include using namespace std; vector solution(vector prices) { int n = prices.size(); int temp; stack s; vector answer(n); for(int i = 0; i prices[i]){ // 가격이 떨어진 경우 // s..
-
백준 6198 옥상 정원 꾸미기 - C++ 스택쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 4. 4. 20:39
6198 : www.acmicpc.net/problem/6198 #include #include using namespace std; stack s; long long temp, res; int n; int main(){ scanf("%d", &n); for(int i = 0; i < n; i++){ scanf("%lld", &temp); while (!s.empty() && s.top() temp이므로 push만. 따라서 2-1 = 1 추가 (스택 : 10, 3) 3. 들어오는 건물이 7이므로 s.top() == 3 이라 s.pop(), 따라서 2-1 = 1 추가 (스택 : 10, 7) 4. 이번 건물은 4로 s.top() == 7이니 2번과 같은 로직, 2 추가 (스택 : 10, 7, 4) 5. 12..
-
백준 2437 저울 - C++ 그리디 알고리즘쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 4. 2. 20:45
- 2437 : www.acmicpc.net/problem/2437 #include #include using namespace std; int arr[1001]; int main(){ int n; cin >> n; for(int i = 0; i > arr[i]; } sort(arr, arr+n); int w = 1; //왼쪽 물건 변수 for(int i = 0; i w){ break; } w += arr[i]; } cout
-
백준 1939 중량제한 - C++, BFS, 이진탐색쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 3. 28. 18:40
백준 1939 : www.acmicpc.net/problem/1939 #include #include #include #include #include using namespace std; int n, m, s, f; vector road[10001]; bool visit[10001]; bool Bfs(int input){ queue q; q.push(s); visit[s] = true; while (!q.empty()){ int cur = q.front(); q.pop(); if(cur == f) return true; for(int i = 0; i < road[cur].size(); i++){ if(!visit[road[cur][i].first] && input
-
백준 2109 순회강연 - C++ 라이브러리로 간단하게쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 3. 26. 22:21
백준 2109 : www.acmicpc.net/problem/2109 #include #include #include using namespace std; bool visit[10001]; int n, d, p, res = 0; vector arr; // 금액, 날짜 bool comp(pair a, pair b){ return a.first >= b.first; } int main(){ scanf("%d", &n); for(int i = 0; i < n; i++){ scanf("%d %d", &p, &d); arr.push_back(pair(p, d)); } sort(arr.begin(), arr.end(), comp); for(int i = 0; i < arr.size(); i++){ for(int j..
-
백준 9251, 9252 - Longest Common Subsequence쾌락없는 책임 (공부)/알고리즘 문제풀이 2021. 3. 4. 22:07
9251 코드 : www.acmicpc.net/problem/9251 #include #include #include using namespace std; string a,b; int arr[1001][1001]; // LCS 알고리즘 // 2차원 배열을 통해 같은 문자열을 저장한다 // 여기에 저장된 값중 최대값이 최대 공통 요소가 된다 // 열까지 해당하는 문자열, 행까지 해당하는 문자열 중 // 최대 같은 길이가 배열에 값으로 저장된다 int main(){ cin >> a >> b; int maxA = a.size(); int maxB = b.size(); for(int i = 1; i b; int maxA = a.size(); int maxB = b.size(); for(int i = 1; i