-
[BOJ] 14728 : 벼락치기
14728 : 벼락치기 풀이 띠용 이거 누가봐도 냅색인걸?! 코드 #include <stdio.h> #define max(a,b) (a)>(b)?(a):(b) int n, t, k, s, d[10001]; int main() { scanf("%d %d", &n, &t); while (n--) { scanf("%d %d", &k, &s); for (int i = t; i >= k; i--) d[i] = max(d[i], d[i - k] + s); } printf("%d", d[t]); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge
-
[BOJ] 14727 : 퍼즐 자르기
14727 : 퍼즐 자르기 풀이 분할정복 + 세그트리로 푸는 풀이도 있다. 근데 복잡하다. 그리디하게 생각해보자. 순차적으로 돌면서 현재 막대의 높이가 이전 막대보다 작아졌다면 이전 막대는 현재 막대 이후로 고려할 필요가 없어진다. 넓이를 구해보자. 코드 #include <stdio.h> #include <stack> #include <algorithm> using namespace std; typedef long long ll; struct ABC { int idx, hgt; }; int n, h; ll ans; stack<ABC> stk; int main() { scanf("%d", &n); for (int i = 0; i < n; i++)...
-
[BOJ] 14726 : 신용카드 판별
14726 : 신용카드 판별 풀이 죽는 날까지 하늘을 우러러 한 점 부끄럼 없기를 코드 #include <stdio.h> int main() { int t; for (scanf("%d", &t); t--;) { int sum = 0; for (int i = 0, a; i < 16; i++) { scanf("%1d", &a); if (!(i % 2)) a *= 2; sum += a / 10 + a % 10; } if (sum % 10) puts("F"); else puts("T"); } return 0; } 아무말 백준, 백준 온라인...
-
[BOJ] 10250 : ACM 호텔
10250 : ACM 호텔 풀이 규칙을 잘 찾아보자! 코드 #include <stdio.h> int main() { int t, h, w, n; scanf("%d", &t); while(t--) { scanf("%d %d %d", &h, &w, &n); n--; printf("%d%02d\n", n%h+1, n/h+1); } return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1874 : 스택 수열
1874 : 스택 수열 풀이 스택에 차곡차곡 쌓다가 알맞은 숫자를 만나면 팝팝 해주자! 코드 #include <stdio.h> #include <stack> #include <vector> using namespace std; int n, a[100001]; stack<int> stk; vector<char> ans; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &a[i]); int pos = 0; for (int i = 1; i <= n; i++) { stk.push(i), ans.push_back('+'); while (!stk.empty() && stk.top() == a[pos]) { pos++, stk.pop(), ans.push_back('-'); } } if...
-
[BOJ] 5622 : 다이얼
5622 : 다이얼 풀이 따르릉 따르릉 비켜나세요~ 코드 #include <stdio.h> int s[27] = { 3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,9,9,9,10,10,10,10 }; int main() { for (char c; ~scanf("%c", &c);) s[26] += s[c - 'A']; printf("%d", s[26]); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 2490 : 윷놀이
2490 : 윷놀이 풀이 풍성한 한가위 되세요~ 코드 #include <stdio.h> int main() { for (int i = 0; i < 3; i++) { int s = 0, a; for (int j = 0; j < 4; j++) scanf("%d", &a), s += a; switch (s) { case 0: puts("D"); break; case 1: puts("C"); break; case 2: puts("B"); break; case 3: puts("A"); break; case 4: puts("E"); } } return 0; } 아무말 백준, 백준 온라인 저지, BOJ,...
-
[BOJ] 2292 : 벌집
2292 : 벌집 풀이 a[i]를 중앙에서 i번째로 떨어진 껍데기를 이루는 육각형의 수라고 두면 a[i] = a[i-1] + 6 (a[0] = 1, a[1] = 6)이라는 식이 나온다. 이제 구현해보자! 룰루랄라 코드 #include <stdio.h> int main() { int n, i; scanf("%d", &n); n--; while (1) { n -= i*6, i++; if (n <= 0) break; } printf("%d", i); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바,...
-
[BOJ] 1016 : 제곱 ㄴㄴ 수
1016 : 제곱 ㄴㄴ 수 풀이 제곱 ㄴㄴ 수를 직접 세어주려면 시간이 너무 오래 걸린다. 제곱 ㄴㄴ 수를 제외한 나머지는 모두 제곱 ㅇㅇ 수(?)이므로 제곱 ㅇㅇ 수(?)를 카운팅해서 전체 개수에서 빼주자! 룰루랄라 코드 #include <stdio.h> typedef long long ll; bool chk[1000001], aux[1000001]; int main() { ll a, b; scanf("%lld %lld", &a, &b); int ans = b - a + 1; for (ll i = 2; i*i <= b; i++) { if (aux[i]) continue; for (ll...
-
[BOJ] 1977 : 완전제곱수
1977 : 완전제곱수 풀이 음 잘 세어주면 된다 코드 #include <stdio.h> int min(int a, int b) { return a < b ? a : b; } int a, b, sm, mn = (int)1e9; int main() { scanf("%d %d", &a, &b); for (int i = 1; i*i <= b; i++) { if (i*i >= a && i*i <= b) { mn = min(mn, i*i); sm += i*i; } } if (!sm) printf("-1"); else printf("%d\n%d", sm, mn);...