코딩테스트/백준
[브1] 1356 - 유진수
#include #include using namespace std;int main() { string N; cin >> N; int tempLeft = 1; for (int i = 0; i
[브2] 12605 - 단어순서 뒤집기
이미 cin을 한번 했기 때문에 ignoreint main(){ int n, t = 1; cin >> n; cin.ignore(); while (n--) { string str, tmp; getline(cin, str); stringstream ss(str); stack s; while (ss >> tmp) s.push(tmp); cout
[실5] 7785 - 회사에 있는 사람
리스트는 O(n^2)이라 시간초과int main(){ int n; cin >> n; list l; while (n--) { string s1, s2; cin >> s1 >> s2; if (s2 == "leave") l.remove(s1); else l.push_back(s1); } l.sort([&](string l, string r) { return l > r; }); while (!l.empty()) { cout 정답) 값 추가할 때마다 재정렬해줌int main(){ int n; cin >> n; set> s; map> m; while (n--) { string s1, s2; cin >> s1 >> s2; if (s2 == "leave") m[s1] = " "; e..
[실4] 14425 - 문자열 집합
int main(){ int n, m; cin >> n >> m; map d; for (int i = 0; i > str; d[str] = true; } int cnt = 0; while (m--) { string str; cin >> str; cnt += d.contains(str); } cout
[실5] 10815 - 숫자 카드
이진 탐색 하기 전 정렬이 되어있어야함 int main(){ int n, m; cin >> n; Vec vn(n); for (int i = 0; i > vn[i]; cin >> m; Vec vm(m); for (int i = 0; i > vm[i]; sort(vn.begin(), vn.end()); for (int i = 0; i
[브1] 1934 - 최소공배수
int gcd(int a, int b){ int r; while (b != 0) { r = a % b; a = b; b = r; } return a;}int lcm(int a, int b){ return (a * b) / gcd(a, b);}int main(){ int t; cin >> t; while (t--) { int a, b; cin >> a >> b; cout
[실5] 11650 - 좌표 정렬하기
using IntPair = pair;int main(){ int n; cin >> n; vector v(n); for (int i = 0; i > v[i].y >> v[i].x; } sort(v.begin(), v.end()); for (int i = 0; i
[실5] 1181 - 단어 정렬
bool Cmp(string& left, string& right){ int a = left.length(), b = right.length(); if (a == b) return left > n; vector v; for (int i = 0; i > str; if (find(v.begin(), v.end(), str) != v.end()) continue; v.push_back(str); } sort(v.begin(), v.end(), Cmp); for (int i = 0; i