/images/logo.png

[백준]10824 네 수

https://www.acmicpc.net/problem/10824 풀이: A, B, C, D 를 각각 string으로 받아 붙힌 후 숫자로 변환하여 더해 출력한다. stoi 는 int형식으로 각각 1,000,000 까지 가능 한 두 수를 붙힌다면 넘어가므로 stoll을 사용하자. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 #include <iostream>#include <string>using namespace std; string a,b,c,d; int main() { cin >> a >> b >> c >> d; cout << stoll(a + b) + stoll(c + d) << endl; }

[백준]2644 촌수계산

https://www.acmicpc.net/problem/2644 풀이: [C++]다익스트라 알고리즘(Dijkstra Algorithm) 참고 코드: 사용언어 : 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 #include <iostream>#include <queue>#include <vector>using namespace std; int n, k, e, q, w, m, d[102], b[102]; int main() { cin >> n >> k >> e >> m; vector<vector<int>> a(n + 1); priority_queue<pair<int, int>> p; while(m--) { cin >> q >> w; a[q].

[C++]위상 정렬(Topological Sort)

위상 정렬(Topological Sort) 위상 정렬 방향 그래프의 노드에 대해 순서를 매겨 정렬하는 방법 정렬 후에 각 노드에 대해 순서가 위배되지 않아야한다. 사이클이 있다면 불가능하다. 들어오는 간선이 없는 노드를 삭제하면서, 정렬한다.

[백준]10797 10부제

https://www.acmicpc.net/problem/10797 풀이: 날짜의 일의 자리 숫자와 자동차의 일의 자리 숫자가 같다면 차량의 대수를 +1 해준다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 #include <iostream>using namespace std; int n, m, i, s = 0; int main() { cin >> n; for (i = 0; i < 5; i++) { cin >> m; if (n == m) s++; } cout << s << endl; }

[백준]10815 숫자 카드

https://www.acmicpc.net/problem/10815 풀이: [C++]lower_bound, upper_bound 참고 cin, cout 은 시간초과가 날 수 있으므로 주의하자. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <iostream>#include <algorithm>using namespace std; int n, m, i, k, a[500002]; int main() { cin >> n; for (i = 0; i < n; i++) cin >> a[i]; sort(a, a + n); cin >> m; while (m--) { cin >> k; if (*lower_bound(a, a + n, k) == k) cout << "1 "; else cout << "0 "; } cout << endl; }

[백준]10974 모든 순열

https://www.acmicpc.net/problem/10974 풀이: [C++]순열 참고 cin, cout 은 시간초과가 날 수 있으므로 주의하자. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 #include <iostream>#include <vector>#include <algorithm>using namespace std; int n, i; vector<int> v; int main() { scanf("%d",&n); for (i = 1; i <= n; i++) v.push_back(i); do { for (int i : v) printf("%d ",i); printf("\n"); } while (next_permutation(v.begin(), v.end())); }