목록[IT] (125)
할껀하고놀자
deque 연습해볼 수 있는 문제였습니다. #include #include using namespace std; int main() { int n; cin >> n; deque dq; for (int i = n; i >= 1; i--) { dq.push_front(i); } while (dq.size() != 1) { dq.pop_front(); int tmp = dq.front(); dq.pop_front(); dq.push_back(tmp); } cout
c++ 문자열 처리방법중 하나 터득하였습니다. 최대공약수 구하는 방법 터득하였습니다. int gcd(int a,int b){ if(a%b==0){return b;} return gcd(b,a%b); } #include #include using namespace std; int gcd(int a, int b) { if (a%b == 0) { return b; } return gcd(b, a%b); } int main() { string s; cin >> s; int a=0, b=0, digit = 1; bool flag = true; for (int i = s.length()-1; i >=0; i--) { if (s[i] == ':') { digit = 1; flag = false; } else { if..
최대공약수 구해서 그 길이만큼 1을 출력해주면 되는 문제입니다. #include using namespace std; int gcd(long long a, long long b) { if (a%b == 0) { return b; } return gcd(b, a%b); } int main() { long long a, b; cin >> a >> b; long long result = gcd(a, b); for (int i = 0; i < result; i++) { cout
최소를 구할 때, 모두 떨어지는 최소의 시간을 구할 때이므로 것이니까 작게 떨어지는 것들의 최대를 구해야한다. #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int tc; cin >> tc; for (int t = 0; t > l >> count; int maxTime = 0; int minTime = 0; for (int i = 0; i > n; int shortTime = min(n, l - n); int longTime = max(n, l - n); if (maxTi..
최대공약수 및 약수 구하는 방법을 학습하고 싶을 때 좋은 코드이다. #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; vector v; for (int i = 1; i
포인트 : 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