-
[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);...
-
[BOJ] 1076 : 저항
1076 : 저항 풀이 잘 계산해주자 꺄르륵 코드 #include <iostream> #include <string> using namespace std; int i, j; long long sum; string a, b, c, s[] = {"black","brown","red","orange","yellow","green","blue","violet","grey","white" }; int main() { cin >> a >> b >> c; for (i = 0; i < 10; i++) { if (a == s[i]) sum += i * 10; if (b == s[i]) sum += i; } for (i = 0; i < 10; i++) if (c...
-
[BOJ] 1475 : 방 번호
1475 : 방 번호 풀이 6과 9는 구분없이 사용 가능하므로 그것만 신경써서 카운팅 해주면 된다 코드 #include <stdio.h> #include <string.h> #define max(a,b) (a)>(b)?(a):(b) int ans, tmp, cnt[10]; char str[10]; int main() { scanf("%s", str); for (int i = 0; i < strlen(str); i++) cnt[str[i] - '0']++; for (int i = 0; i <= 9; i++) if (i != 6 && i != 9) ans = max(ans, cnt[i]); ans = max(ans, (cnt[6] + cnt[9] + 1)...
-
[BOJ] 10159 : 저울
10159 : 저울 풀이 a와 b의 대소관계를 알 수 있다는 것은 a에서 b까지 알고 있는 관계를 건너건너 도착할 수 있다는 것이고 n 제한이 100으로 엄청 작으므로 모든 경로를 구해놓자. 그리고 도달할 수 없는 노드의 개수를 세어주자. 코드 #include <stdio.h> int n, m, a[101][101]; int main() { scanf("%d %d", &n, &m); for (int i = 0, x, y; i < m; i++) scanf("%d %d", &x, &y), a[x][y] = 1; for (int k = 1; k <=...
-
[BOJ] 10158 : 개미
10158 : 개미 풀이 개미가 움직이는 w*h 크기의 격자가 사방에 이어붙여져 있다고 생각해보자. w - abs(w - (x + t) % (2 * w)), h - abs(h - (y + t) % (2 * h)) 나머지 연산을 이용하면 간단하게 풀 수 있다. 코드 #include <bits/stdc++.h> int w, h, x, y, t; int main() { scanf("%d %d %d %d %d", &w, &h, &x, &y, &t); printf("%d %d", w - abs(w - (x + t) % (2...
-
[BOJ] 10157 : 자리배정
10157 : 자리배정 풀이 달팽이 짜듯이 하면 된다 코드 #include <stdio.h> const int dx[] = { 1,0,-1,0 }; const int dy[] = { 0,1,0,-1 }; int n, m, c, a[1002][1002]; int main() { scanf("%d %d %d", &n, &m, &c); for (int i = 0; i <= 1001; i++) a[i][0] = a[0][i] = a[m + 1][i] = a[i][n + 1] = 1; int x = 0, y = 1, d = 0; for (int i =...
-
[BOJ] 10156 : 과자
10156 : 과자 풀이 꺄르륵 코드 main(a,b,c){scanf("%d%d%d",&a,&b,&c);printf("%d",a*b-c>0?a*b-c:0);} 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이