728x90
반응형

분류 전체보기 121

백준 4949번 균형잡힌 세상(C++) 🚩

반례 찾아서 예외처리하는거 어렵다.. stack이 비었는지도 확인해야한다. #include #include #include #include using namespace std; int main() { stackt1; stackt2; int cnt = 0; bool flag = false; string s; while (getline(cin,s)) { if (s == ".") { break; } for (int i = 0; i < s.size(); i++) { if (s[i] == '(') { t1.push(s[i]); } if (s[i] == '[') { t1.push(s[i]); } if (s[i] == ')') { if (t1.empty() || t1.top() != '(')flag = true; e..

백준 2637 장난감 조립 (C++)

https://www.acmicpc.net/problem/2637 2637번: 장난감 조립 첫째 줄에는 자연수 N(3 ≤ N ≤ 100)이 주어지는데, 1부터 N-1까지는 기본 부품이나 중간 부품의 번호를 나타내고, N은 완제품의 번호를 나타낸다. 그리고 그 다음 줄에는 자연수 M(3 ≤ M ≤ 100)이 주 www.acmicpc.net 갑자기 #define 이랑 typedef랑 헷갈렸다.. long long으로 완전 다 바꾸어 버렸는데 int의 범위가 -2,147,483,648 ~ 2,147,483,647 long long은 -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 이므로 사실 int형을 써도 괜찮을것 같다. 괜히 큰 숫자 보고 long lon..

백준 2632 음악프로그램 (C++)

https://www.acmicpc.net/problem/2623 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net #include #include #include using namespace std; int n, m; vectorindegree; vectorgraph; vectorarr; void tpsort() { queueq; for (int i = 1; i > n >> m; indegree.assign(n+1, 0); graph.assign(n + 1, vector()); int nu..

백준 3085 사탕게임 C++

https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net #include #include using namespace std; int n; vectorarr; int check() { //최대 연속 갯수 //행,열 int cnt1 = 1; int cnt2 = 1; int maxs = 1; for (int i = 0; i < n; i++) { cnt1 = 1; cnt2 = 1; for (int j = 1; j < n; j++) { if (arr[i][j - 1] == arr[i][j]) { cnt1++; maxs = max(maxs, cnt1); } else cnt1 = ..

백준 15657번 N과 M(8) C++

https://www.acmicpc.net/problem/15657 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net #include #include #include using namespace std; int n, m; vectorarr; vectorv; vectorvisited; void permutation(int num,int idx) { if (idx == m) { for (int i = 0; i m; arr.assign(n, 0); visited.assign(..

백준 17485 진우의 달여행(large) C++ 🚩

https://www.acmicpc.net/problem/17485 17485번: 진우의 달 여행 (Large) 첫줄에 지구와 달 사이 공간을 나타내는 행렬의 크기를 나타내는 N, M (2 ≤ N, M ≤ 1000)이 주어진다. 다음 N줄 동안 각 행렬의 원소 값이 주어진다. 각 행렬의 원소값은 100 이하의 자연수이다. www.acmicpc.net dfs로 탐색하면 어떨까 했는데 재귀로 1000*1000 =1000000정점을 탐색하는것을 시간/공간 복잡도 오류없이 해결할수 있을까 싶어서 dp로 풀었다. dfs,bfs 에 대한 시간/공간복잡도를 따로 정리해봐야겠다.. 접근 방식 1. 맨처음 행으로 진입, 맨끝행에서 달로 갈때도 방향을 계산해야 하나 했는데 첫행은 값 자체를, 끝 행에 도착하면 모든 계산이..

백준 15655번 N과 M(6) C++

https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net #include #include #include using namespace std; int n, m; vectorarr; vectorv; vectorvisited; void permutation(int num,int idx) { if (idx == m) { for (int i = 0; i m; arr.assign(n, 0); visited.assign(..

백준 N과 M(5) C++

https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net #include #include #include using namespace std; int n, m; vectorarr; vectorv; vectorvisited; void permutation(int idx) { if (idx == m) { for (int i = 0; i m; arr.assign(n, 0); visited.assign(n, false..

백준 14719번 빗물 (C++) 🚩

오답 - 1%에서 틀렸습니다 접근1. 1) 지금 위치 다음이 더 높이가 높으면 채울수 있다 가정 (arr[i]) 2) 지금 위치 기준 왼쪽에서 제일 높은 위치의 높이와 비교해서 더 작은 높이로 arr[max_idx]=max_h 3) (지금 위치에서 제일 높은 위치) x ( min(arr[i],arr[max_idx])-arr[i]) 를 곱해주고, 4) arr[i+1]와 비교하여 max_ h와 max_idx를 갱신해준다. 문제점: - 지금 위치 기준 왼쪽으로 칸을 더할때 칸의 높이가 다 다르므로 3)에서 min(arr[i],arr[max_idx])-arr[i] 이부분 고쳐야함 - 지금 위치보다 바로 다음이 더 큰걸 만날때 한번에 왼쪽을 채우고 넘어가려고 max_idx,max_h를 arr[i+1]과 비교해서 ..

728x90
반응형