/images/logo.png

[백준]1915 가장 큰 정사각형

https://www.acmicpc.net/problem/1915 풀이: b[i][t] : i , t 가 오른쪽 아래 꼭짓점인 정사각형의 한 변의 길이 i, t가 0이라면, 정사각형을 만들 수 없으므로 0 i, t 의 수가 1이라면, b[i][t] = (b[i - 1][t], b[i][t - 1], b[i - 1][t - 1] 의 최솟값) + 1 넓이 이므로 b[i][t] 중 가장 큰 값을 제곱하여 출력한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <iostream>using namespace std; int n, m, i, t, a, b[1002][1002], s = 0; int main() { cin >> n >> m; for (i = 0; i < n; i++) for (t = 0; t < m; t++) { scanf_s("%1d",&a); if (a) { if (i && t) { b[i][t] = b[i - 1][t] > b[i][t - 1] ?

[백준]1922 네트워크 연결

https://www.acmicpc.net/problem/1922 풀이: [백준]1197 최소 스패닝 트리 참고 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #include <iostream>#include <queue>#include <vector>using namespace std; typedef pair<int, int> P; int N, E, q, w, e, b[1002] = { 1,1 }; int main() { cin >> N >> E; vector<priority_queue<P, vector<P>, greater<P>>> a(N + 1); vector<int> v = { 1 }; for (int i = 0; i < E; i++) { cin >> q >> w >> e; a[q].

[백준]2252 줄 세우기

https://www.acmicpc.net/problem/2252 풀이: b[i] : i 보다 작은 사람들의 수 b[i] 가 0인 i를 맨 앞에 세운다. i보다 큰 학생들을 t라고 할 때, b[t] 값을 각각 -1 해준다. 모든 학생들을 세울때까지 반복한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <iostream>#include <vector>using namespace std; int n, m, i, q, w, b[32002], c[32002]; int main() { cin >> n >> m; vector<vector<int>> a(n + 1); vector<int> v; for (i = 0; i < m; i++) { cin >> q >> w; a[q].

[백준]2420 사파리월드

https://www.acmicpc.net/problem/2420 풀이: 두 유명도의 차이를 절댓값으로 출력한다. 두 도메인의 크기가 매우 크므로 long long 으로 받자. long long 형으로 받았으므로 abs 가 아닌 llabs를 쓰자 코드: 사용언어 : c++ 1 2 3 4 5 6 7 #include <iostream>using namespace std; long long a, b; int main() { cin >> a >> b; cout << llabs(a - b) << endl; }

[백준]2530 인공지능 시계

https://www.acmicpc.net/problem/2530 풀이: 요리에 필요한 시간 D를 초에 더한다. 초 C를 60으로 나눈 몫을 분에 더한다. 초는 나눈 나머지가 된다. 분 B를 60으로 나눈 몫을 시에 더하다. 분은 나눈 나머지가 된다. 시를 24로 나눈 나머지로 바꾼다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 #include <iostream>using namespace std; int a, b, c, d; int main() { cin >> a >> b >> c >> d; c += d, b += c / 60, c %= 60, a += b / 60, b %= 60, a %= 24; printf("%d %d %d", a, b, c); }

[백준]5597 과제 안 내신 분..?

https://www.acmicpc.net/problem/5597 풀이: 과제를 낸 28 명을 기록한다. 30 명 중 기록이 안돼어있는 학생 2명을 출력한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 #include <iostream>using namespace std; int a[31], i = 28, b; int main() { while (i--) { cin >> b; a[b] = 1; } for (i = 1; i <= 30; i++) if (!a[i]) cout << i << endl; }