본문 바로가기

전체 글

(131)
2-1. 숨겨진 합 ★★☆☆☆ #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); string str; string temp; cin >> str; vector num; for(int i = 0; i < str.size(); i++) { if(isdigit(str[i])) { temp += str[i]; } else { if(!temp.empty()) { num.push_back(stoi(temp)); temp.clear(); } } } if(!temp.empty()) num.push_back(stoi(temp)); int sum = 0; for(int i = 0; i < num...
1-5. 효율적인 공부 ★★★☆☆ #include #include #include using namespace std; struct Study { int st; int et; int e; Study(int x, int y, int z) { this -> st = x; this -> et = y; this -> e = z; } bool operator> n >> m >> r; for(int i = 0; i > a >> b >> c; V.push_back(Study(a, b, c)); } sort(V.begin(), V.end()); dy[0] = V[0].e; for(int i = 1; i = ..
1-4. 바둑대회(DFS) ★★★★☆ #include #include #include using namespace std; int abil[2][16]; int ch[16]; int n, res = 2147000000; void DFS(int s, int L) { if(L == n/2) { vector A, B; for(int i = 0; i < n; i++) { if(ch[i] == 1) A.push_back(i); else B.push_back(i); } int sumA = 0, sumB = 0; for(int i = 0; i < A.size(); i++) { sumA += abil[0][A[i]]; sumB += abil[1][B[i]]; } res = min(res, abs(sumA - sumB)); } else { for(int i..
1-3. 영화 관람 ★★★☆☆ #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, idx, max = 0; cin >> n; vector V(n+1, 0); vector ans(n+1, 0); for(int i = 1; i > V[i]; } ans[1] = 0; for(int i = 2; i
1-2. 오렌지 나무 ★★★★☆ #include #include using namespace std; vector x; vector y; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int w, h, t, s, a, b; cin >> w >> h >> t >> s; for(int i = 0; i > a >> b; x.push_back(a); y.push_back(b); } int x1 = 0, y1 = 0; int count = 0; int res = 0; for(int i = 0; i ..
1-1. 공통 문자열 ★★☆☆☆ #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; string str, res, ch, temp = ""; vector V; for(int i = 1; i > str; V.push_back(str); } res = V[0]; for(int i = 1; i < V.size(); i++) { str = V[i]; ch.clear(); for(int j = 0; j < str.size(); j++) { if(res[j] == string::npos || res[j] != str[j]) break; if(res[j] == str[j]) ch ..
103. 위상정렬(그래프 정렬) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★☆☆ #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, m, a, b, x = 0; cin >> n >> m; vector Degree(n+1, 0); vector Work[n+1]; queue Q; for(int i = 1; i > a >> b; Work[a].push_back(b); } for(int i = 1; i
102. 회장뽑기(플로이드-워샬 응용) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★☆☆ #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, a, b, score = 2147000000, cnt = 0; cin >> n; vector V(n+1, vector(n+1, 100)); vector Scores(n+1, 0); while(true) { cin >> a >> b; if(a == -1 && b == -1) break; V[a][b] = 1; V[b][a] = 1; } for(int k = 1; k