목록[IT]/백준 (58)
할껀하고놀자
포인트 : map 자료구조를 pair를 이용하여 사용하기! #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); vector v; int num; while (scanf("%d", &num) != EOF) { v.push_back(num); } int sum = v.back(); v.pop_back(); sort(v.begin(), v.end()); map visited; int cnt = 0; for (int i = 0; i < v.size(); i++) { for (int j = i + 1; j < v.size(); j++) { //중복 제거 if ..
#include #include #include using namespace std; int dy[] = { -1,-1,-1,0,1,1,1,0 }; int dx[] = { -1,0,1,1,1,0,-1,-1 }; const int Max = 10; int N, M, K; int add[Max][Max]; int nutri[Max][Max]; vector namu[Max][Max]; int main() { cin >> N >> M >> K; for (int i = 0; i > add[i][j]; nutri[i][j] = 5; } } for (int i = 0; i > ..
#include #include #include using namespace std; bool flag; string S, T; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> S >> T; //T로부터 역순으로 진행할 때, S가 되는지 여부 파악 while (1) { if (S.length() == T.length()) { if (S == T) flag = true; break; } char c = T[T.length() - 1]; T.pop_back(); if (c == 'B') reverse(T.begin(), T.end()); } cout
#include #include using namespace std; const int MAX = 53; int cnt[MAX]; int result[MAX]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int N; cin >> N; for (int i = 0; i > num; cnt[num]++; } string buffer_flush, s; getline(cin, buffer_flush); getline(cin, s); for (int i = 0; i = 'A' && s..
단순히 입력받고 뒤집어 출력해도 정답으로 인정된다. O(n^3)의 시간복잡도를 가짐. #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int T; cin >> T; for (int i = 0; i > H >> W; for (int j = 0; j > s; for (int k = s.length()-1; k >= 0; k--) { cout
#include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int N; cin >> N; vector v; for (int i = 0; i > num; v.push_back(make_pair((i + 1), num)); } int idx = 0; int copyN = N; for (int i = 0; i < copyN; i++) { cout = 0 ? idx : N + idx%N); idx %= N; } cout
#include #include #include using namespace std; class Meeting { public: int begin, end; }; bool compare(const Meeting &u, const Meeting &v) { if (u.end == v.end) { return u.begin > n; vector a(n); for (int i = 0; i > a[i].begin >> a[i].end; } sort(a.begin(), a.end(), compare); int now = 0; int ans = 0; for (i..
#include #include #include using namespace std; vector a; int main() { int t; cin >> t; while (t--) { a.clear(); int n, min = 100001, result = 0; cin >> n; for (int i = 0; i > x >> y; a.push_back(make_pair(x, y)); } sort(a.begin(), a.end()); for (int i = 0; i a[i].second) { min = a[i].second; result++; } } cout
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); String [] str = sc.nextLine().split("-"); String yang = str[0]; int iyang = 0; boolean ok = false; if(yang.contains("+")) { ok=true; } if(ok) { String [] tmp = yang.split("\\+"); for (int i = 0; i < tmp.length; i++) { iyang+=Integer.parseInt(tmp[i]); } }else { iyang=Integer...