-
[BOJ] 16174 : 점프왕 쩰리 (Large)
16174 : 점프왕 쩰리 (Large) 풀이 잘 짜주면 된다. 코드 #include <cstdio> int n, i, j, x, a[66][66] = {1}; int main() { scanf("%d", &n); for (i = 0; i < n; i++) for (j = 0; j < n; j++) { scanf("%d", &x); if (!a[i][j]) continue; if (i+x < n) a[i+x][j] = 1; if (j+x < n) a[i][j+x] = 1; } puts(a[n-1][n-1] ? "HaruHaru" : "Hing"); return 0; } 아무말 백준, 백준 온라인 저지,...
-
[BOJ] 16173 : 점프왕 쩰리 (Small)
16173 : 점프왕 쩰리 (Small) 풀이 잘 짜주면 된다. 코드 #include <cstdio> int n, i, j, x, a[66][66] = {1}; int main() { scanf("%d", &n); for (i = 0; i < n; i++) for (j = 0; j < n; j++) { scanf("%d", &x); if (!a[i][j]) continue; if (i+x < n) a[i+x][j] = 1; if (j+x < n) a[i][j+x] = 1; } puts(a[n-1][n-1] ? "HaruHaru" : "Hing"); return 0; } 아무말 백준, 백준 온라인 저지,...
-
[BOJ] 16165 : 걸그룹 마스터 준석이
16165 : 걸그룹 마스터 준석이 풀이 잘 짜주면 된다. 코드 #include <iostream> #include <string> #include <map> using namespace std; int n, m, num; string grp, str; map<string, string> mp; int main() { cin.tie(0); ios_base::sync_with_stdio(0); cin >> n >> m; while (n--) { cin >> grp >> num; while (num--) { cin >> str; mp[grp] = str; mp[str] = grp; } } while (m--) { cin >> str >> num; if (!num) for (auto it :...
-
[BOJ] 8073 : Road Net
8073 : Road Net 풀이 인접행렬이 주어질 때, 다음과 같은 식 AB=AC+CB을 만족하는 경우가 있는지를 판별하면 된다. 음… 짜면 된다. 코드 #include <cstdio> int n, i, j, k, f, a[202][202]; int main() { scanf("%d", &n); for (i = 0; i < n; i++) for (j = 0; j < n; j++) scanf("%d", &a[i][j]); for (i = 0; i < n; i++) for (j = i+1; j < n; j++) { f = 0; for (k...
-
[BOJ] 8983 : 사냥꾼
8983 : 사냥꾼 풀이 어떤 동물을 사냥할 수 있는지 판단해야한다. 그러기 위해선 어떤 동물에서 가장 가까운 어떤 사냥대를 찾아야 한다. 동물의 y좌표는 모든 사냥대에 대해 절대적인 반면, x좌표는 사냥대에 대해 상대적이다. 그러므로 동물의 x좌표와 사냥대의 x좌표만 비교해서 O(1) 또는 O(log n)의 시간에 가장 가까운 사냥대를 찾을 수 있다. O(1)은 적당히 반복문을 잘 굴리면 되고 O(log n)은 적당히 이분탐색 같은 걸 사용하면 된다. (안 해봤지만 아마 될 거다 ㅎ) 코드 #include <cstdio> #include <algorithm> using namespace...
-
[BOJ] 15633 : Fan Death
15633 : Fan Death 풀이 답에서 *5-24하면 되는데 왜 그러는지 모름 ㅋㅋ 코드 #include <cstdio> int n, r; int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) { if (n % i == 0) r += i; } printf("%d", r*5-24); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 15368 : Birokracija
15368 : Birokracija 풀이 트리에 존재하는 모든 노드에 대해, 각각의 노드에서 루트까지의 거리를 더하는 문제이다. 음… 그냥 짜면 된다. 코드 #include <cstdio> int n, par[200002], cnt[200002]; long long ans[200002]; int main() { scanf("%d", &n); for (int i = 2; i <= n; i++) scanf("%d", &par[i]); for (int i = n; i >= 1; i--) { ans[par[i]] += ++ans[i] + ++cnt[i]; cnt[par[i]] += cnt[i]; } for (int i = 1; i <= n; i++) printf("%lld ",...
-
[BOJ] 15367 : Spirale
15367 : Spirale 풀이 달.팽.이.조.아.!.! 코드 #include <cstdio> #include <algorithm> const int dx[2][4] = { {0,-1,0,1},{0,-1,0,1} }; const int dy[2][4] = { {-1,0,1,0},{1,0,-1,0} }; int n, m, k; int a[500][500]; int main() { scanf("%d %d %d", &n, &m, &k); while (k--) { int x, y, c, num = 1, cnt = 2, dir = 0; scanf("%d %d %d", &x, &y, &c); x += 249, y += 249; if (!a[x][y]) a[x][y] = 1; while (dir <...
-
[BOJ] 15366 : Olivander
15366 : Olivander 풀이 정.렬.조.아 코드 #include <cstdio> #include <algorithm> using namespace std; int n, a[100], b[100]; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &a[i]); for (int i = 0; i < n; i++) scanf("%d", &b[i]); sort(a, a + n); sort(b, b + n); while (n--) if (a[n] > b[n]) return !printf("NE"); return !printf("DA"); } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨,...
-
[BOJ] 15998 : 카카오머니
15998 : 카카오머니 풀이 주어지는 입력을 a[i], b[i]라고 하자. b[i]-b[i-1] == a[i]인 경우는 돈을 뽑아서 쓰지 않는 정상적인(?) 경우이다. b[i]-b[i-1] != a[i]인 경우는 비정상적인(?) 경우이다. 여기서 비정상적인(?) 경우도 두 경우로 나뉜다. 하나는 인출하지 않는 상황에서 남은 금액이 맞지 않는 경우, 이건 그냥 짜주자. 인출하는 경우에, 은행에서 인출하는 금액 k는 b[i]-b[i-1]-a[i]이다. 오 그렇다면 이러한 k가 여러개 있을 수 있는데, 우리가 구하는 건 공통된 k이므로 이러한 k들의 gcd를 구해주자. 그러한 gcd 값을 gcd_k라고 하자. 그럼 답이 모순되는...
-
[BOJ] 3758 : KCPC
3758 : KCPC 풀이 주어진 조건대로 정렬해서 구현하면 된다. 코드 #include <bits/stdc++.h> using namespace std; struct abc { int sco, sub, tim, idx; bool operator <(abc a)const { if (sco == a.sco) { if (sub == a.sub) { return tim < a.tim; } return sub < a.sub; } return sco > a.sco; } }; int main() { int tc; scanf("%d", &tc); while (tc--) { int n, k, t, m; abc a[103][103]; memset(a, 0, sizeof(a)); scanf("%d...
-
[BOJ] 7662 : 이중 우선순위 큐
7662 : 이중 우선순위 큐 풀이 multiset을 써서 풀었는데 map으로 풀어도 될 거 같고 아무튼 그냥 짜면 된다. 코드 #include <iostream> #include <set> using namespace std; int main() { int t; cin >> t; while (t--) { int k; cin >> k; char c; int n; multiset<int> v; while (k--) { cin >> c >> n; if (c == 'I') { v.insert(n); } else if (c == 'D' && v.size() > 0) { if (n...
-
[BOJ] 1713 : 후보 추천하기
1713 : 후보 추천하기 풀이 짜라는대로 짜면 된다. 코드 #include <cstdio> #include <deque> #include <algorithm> using namespace std; int n, m; struct abc { int idx, vote, time; bool operator <(abc a)const { if (vote == a.vote) return time < a.time; return vote < a.vote; } }; int main() { deque<abc> d; scanf("%d %d", &m, &n); for (int i = 1; i <= n; i++) { int x; scanf("%d", &x); for (abc &it : d)...
-
[BOJ] 16113 : 시그널
16113 : 시그널 풀이 잘 짜면 된다 코드 #include <cstdio> #include <cstring> int n, r[100003]; char a[100003], s[20005][5]; int isone(int x) { for (int i = 0; i < 5; i++) if (s[x][i] == '.' || s[x+1][i] == '#') return 0; return 1; } int count(int x) { int ret = 0; for (int i = x; i < x+3; i++) for (int j = 0; j < 5; j++) ret += s[i][j] == '.';...
-
[BOJ] 16112 : 5차 전직
16112 : 5차 전직 풀이 메이플스토리~~ 코드 #include <cstdio> #include <algorithm> int n, k, a[300003]; long long r, s; int main() { scanf("%d %d", &n, &k); for (int i = 0; i < n; i++) scanf("%d", &a[i]); std::sort(a, a+n); for (int i = n-1; i >= 0; i--) { if (i < k) r += s; s += (long long)a[i]; } printf("%lld", r); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge,...
-
[BOJ] 14961 : Untangling Chain
14961 : Untangling Chain 풀이 가장 위, 가장 아래, 가장 오른쪽, 가장 왼쪽의 좌표를 기억해두자. 그리고 항상 그 좌표보다 한칸 더 위로 직선을 쏴주자. 혹은 내 코드처럼 같은 방향(시계, 반시계)으로 두 번 이상 전진하는 경우로 접근해도 된다. 코드 #include <cstdio> int n, i, now, prv; int main() { scanf("%d", &n); for (i = 1; i <= n; i++) { printf("%d ", now-prv ? 1 : i); prv = now; scanf("%d %d", &now, &now); } return...
-
[BOJ] 4801 : Nine
4801 : Nine 풀이 짜라는대로 짜면 된다 약간 영어 독해 문제 코드 #include <cstdio> #include <algorithm> using namespace std; inline int calc(int n) { int r = 0; while (n) { r += n%10==9; n /= 10; } return r; } int main() { int h, m; while (scanf("%d:%d", &h, &m) && (h || m)) { int a = h*60+m; int rcnt = -1, rerr = 1e9, ri = -1, rj = -1; for (int...
-
[BOJ] 15969 : 행복
15969 : 행복 풀이 돌려돌려~ 돌림판~ 코드 #include <cstdio> int n, x, mn = 1e9, mx = -1e9; int main() { scanf("%d", &n); while (n--) { scanf("%d", &x); if (mn > x) mn = x; if (mx < x) mx = x; } printf("%d", mx - mn); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 16043 : Missing Gnomes
16043 : Missing Gnomes 풀이 주어지지 않은 숫자 중 작은 숫자부터 그리디하게 채워넣으면 된다. 코드 #include <cstdio> #include <vector> #include <algorithm> using namespace std; int n, m, c[100001]; vector<int> a, b, r; int main() { scanf("%d %d", &n, &m); a.resize(m+1); for (int i = 0, x; i < m; i++) { scanf("%d", &a[i]); c[a[i]] = 1; } for (int i = 1; i <= n; i++) { if (!c[i]) b.push_back(i); } int i = 0,...
-
[BOJ] 2344 : 거울
2344 : 거울 풀이 매일 가슴이 갈라져요 숨이 다 끊어질만큼 울어요 수 천 번 잊었다 외쳐봐도 내 삶은 어느새 벼랑 끝에 서있네요 코드 #include <cstdio> #include <cstring> #define R(N) for(int i=1;i<=N;i++) int n, m, a[1002][1002], num[1002][1002], res[4004]; void go(int x, int y, int s, int d, int cnt) { int dx[] = { -1*s,0 }, dy[] = { 0,+1*s }; while (a[x][y] != -1) { if (a[x][y] == 1) d = (d+1)%2; x += dx[d],...
-
[BOJ] 2740 : 행렬 곱셈
2740 : 행렬 곱셈 풀이 으갸갸갸갸갸갸가가가각 코드 #include <cstdio> int n, m, k, a[102][102], b[102][102]; int main() { scanf("%d%d",&n,&m); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) scanf("%d", &a[i][j]); scanf("%d %d", &m, &k); for (int i = 0; i < m; i++) for (int j = 0; j < k; j++) scanf("%d", &b[i][j]); for (int i = 0; i < n; i++) { for (int...
-
[BOJ] 10974 : 모든 순열
10974 : 모든 순열 풀이 stl 쪼아~~~ 코드 #include <cstdio> #include <algorithm> int main() { int n, a[9]; scanf("%d", &n); for (int i = 0; i < n; i++) a[i] = i+1; do { for (int i = 0; i < n; i++) printf("%d ", a[i]); puts(""); } while (std::next_permutation(a, a+n)); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이,...
-
[BOJ] 15683 : 감시
15683 : 감시 풀이 삼성 인사 담당자님 보고 계신가요? 코드 #include <cstdio> #include <vector> #include <algorithm> using namespace std; const int dx[] = { 0,1,0,-1 }, dy[] = { 1,0,-1,0 }; const int R = 1, D = 2, L = 4, U = 8; vector<int> sight[6] = { {}, { R,D,L,U }, { L+R,U+D }, { R+D,D+L,L+U,U+R }, { R+D+L,D+L+U,L+U+R,U+R+D }, { R+D+L+U } }; int n, m; int a[10][10], b[10][10]; struct abc {...
-
[BOJ] 15973 : 두 박스
15973 : 두 박스 풀이 노가다를 해보자~ 사실 노가다 안 해도 됨 코드 #include <iostream> #include <string> using namespace std; int x[5], y[5]; string gogo() { if (x[0] == x[3] && y[0] == y[3] || x[1] == x[2] && y[0] == y[3] || x[0] == x[3] && y[1] == y[2] || x[1] == x[2] && y[1] == y[2]) return "POINT"; if (x[0] == x[3] && y[2] <= y[0] && y[0] <= y[3] || x[0] ==...
-
[BOJ] 14971 : A Garden With Ponds
14971 : A Garden With Ponds 풀이 코드 개더러워… 코드 #include <cstdio> #include <algorithm> #define REP(k,l,r) for(int k=(l);k<(r);k++) using namespace std; int n, m, a[12][12]; int main() { while (1) { scanf("%d %d", &n ,&m); if (!n && !m) return 0; REP(i,1,n+1) REP(j,1,m+1) scanf("%d", &a[i][j]); int res = 0; REP(i,1,n+1) REP(j,1,m+1) { REP(x,i+2,n+1) REP(y,j+2,m+1) { int mo = 1e9; REP(k,i,x+1) mo = min(mo, min(a[k][j], a[k][y])); REP(k,j,y+1) mo = min(mo, min(a[i][k], a[x][k])); int mi = -1,...
-
[BOJ] 14969 : Taro`s Shopping
14969 : Taro’s Shopping 풀이 별빛이 내린다 코드 #include <cstdio> int n, m, a[1001]; int main() { while (1) { scanf("%d %d", &n, &m); if (!n && !m) { return 0; } for (int i = 0; i < n; i++) { scanf("%d", a + i); } int res = -1; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i == j)...
-
[BOJ] 12842 : 튀김 소보루
12842 : 튀김 소보루 풀이 . 코드 #include <cstdio> int n, m, time, idx, a[100001]; int main() { scanf("%d %d", &n, &m); n -= m; scanf("%d", &m); for (int i = 1; i <= m; i++) scanf("%d", a + i); while (n) { for (int i = 1; i <= m; i++) { if (time % a[i] == 0) { n--; idx = i; if (!n) break; } } time++; } printf("%d\n", idx); return 0;...
-
[BOJ] 12841 : 정보대 등산
12841 : 정보대 등산 풀이 누적합! 코드 #include <cstdio> typedef long long ll; int n, i; ll a[100001], b[100001], c[100002]; int main() { scanf("%d", &n); for (i = 1; i <= n; i++) scanf("%lld", c + i); for (i = 2; i <= n; i++) scanf("%lld", a + i), a[i] += a[i-1]; for (i = 2; i <= n; i++) scanf("%lld", b + i), b[i] += b[i-1]; ll pos = 1, sum = 1e18; for...
-
[BOJ] 12840 : 창용이의 시계
12840 : 창용이의 시계 풀이 , 코드 #include <cstdio> int main() { int h, m, s, tc, t, c, mod = 86400; scanf("%d %d %d", &h, &m, &s); s += m * 60 + h * 3600; for (scanf("%d", &tc); tc; tc--) { scanf("%d", &t); if (t == 1) scanf("%d", &c), s = (s + c) % mod; if (t == 2) scanf("%d", &c), s = (s - c) % mod; if (t == 3)...
-
[BOJ] 10804 : 카드 역배치
10804 : 카드 역배치 풀이 . 코드 #include <cstdio> #include <algorithm> using namespace std; int n = 10, a[21]; int main() { int l, r; for (int i=1;i<=20;i++) a[i] = i; while (n--) { scanf("%d %d", &l, &r); reverse(a + l, a + r + 1); } for (int i=1;i<=20;i++) { printf("%d ", a[i]); } return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘,...
-
[BOJ] 15678 : 연세워터파크
15678 : 연세워터파크 풀이 . 코드 #include <cstdio> #include <algorithm> #include <deque> using namespace std; typedef pair<long long, int> pli; int n, d; long long a, now, ans = -1e9; deque<pli> deq; int main() { scanf("%d %d", &n, &d); for (int i = 1; i <= n; i++) { scanf("%lld", &a); while (!deq.empty() && deq.front().second + d < i) deq.pop_front(); now = max(a, a + deq.front().first); ans = max(ans, now); while (!deq.empty() && deq.back().first <=...
-
[BOJ] 15670 : 도로 공사
15670 : 도로 공사 풀이 구현이 좀 귀찮은데 잘 따져서 슥슥 짜주면 된다. 코드 #include <cstdio> int n, m, i, x, y, a[100002]; int inc[100002], dec[100002]; int main() { scanf("%d %d", &n, &m); for (i = 1; i <= n; i++) scanf("%d", &a[i]); inc[1] = dec[1] = 1; for (i = 2; i <= n; i++) inc[i] = inc[i - 1] + (a[i - 1] >= a[i]); for (i = 2; i <= n; i++)...
-
[BOJ] 10547 : STUDENTSKO
COCI 2014/2015 Contest #2 3번 10547 : STUDENTSKO 풀이 한 팀에 들어가야 하는 학생들에게 같은 그룹 넘버를 부여하자 그냥 부여하는 건 아니고 먼저 뽑혀야하는 팀부터 오름차순으로 부여하자 그리고 가장 긴 단조증가하는 수열의 길이를 구하자. 코드 #include <cstdio> #include <algorithm> using namespace std; int n, k, len, a[5005], lis[5005]; pair<int, int> p[5005]; int main() { scanf("%d %d", &n, &k); for (int i = 0; i < n; i++) scanf("%d", &a[i]), p[i].first = a[i]; sort(a, a +...
-
[BOJ] 10546 : 배부른 마라토너
COCI 2014/2015 Contest #2 2번 10546 : 배부른 마라토너 10546 : UTRKA 풀이 map 써도 되고 이렇게 짜도 된다 코드 #include <cstdio> int n, i; char a[22], s[22]; int main() { scanf("%d", &n); n *= 2; for (n--; n--;) { scanf("%s", s); for (i = 0; s[i]; i++) a[i] ^= s[i]; } printf("%s", a); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조,...
-
[BOJ] 10545 : 뚜기뚜기메뚜기
COCI 2014/2015 Contest #2 1번 10545 : 뚜기뚜기메뚜기 10545 : MOBITEL 풀이 으쌰으쌰 잘 짜보자. 코드 #include <cstdio> int m[11], t[33] = { 2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9 }; char s[111]; int main() { for (int i = 1, a; i <= 9; i++) scanf("%d", &a), m[a] = i; scanf("%s", s + 1); for (int i = 1, now, prv = -1; s[i]; i++) { now = t[s[i] - 'a']; if (prv == now) printf("#"); for (int j =...
-
[BOJ] 15560 : 구간 합 최대? 1
15560 : 구간 합 최대? 1 풀이 max(U * (K[i] + K[i+1] + ... K[j]) + V * (j - i)) = max(U * (K[i] + K[i+1] + ... K[j]) + V * (j - i + 1)) - V 모든 A[i]를 U * A[i] + V로 바꿔주면 max(A[i] + ... + A[j])가 최대가 되는 연속 구간 최대 합을 구하는 문제가 된다. 15561번 풀이에 세그트리를 이용한 구현이 있다. 여긴 나이브한 구현. 코드 #include <cstdio> int...
-
[BOJ] 14557 : Memory
14557 : Memory 풀이 봄이 그렇게도 좋냐 멍청이들아 코드 main(a,b){scanf("%d%d",&a,&b);printf("%d %d",a*b/2,a*b-1);} 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 2669 : 직사각형 네개의 합집합의 면적 구하기
2669 : 직사각형 네개의 합집합의 면적 구하기 풀이 으아아아ㅏ 코드 #include <cstdio> int k, i, j, x1, x2, y1, y2, a[101][101]; int main() { for (; k < 4; k++) { scanf("%d %d %d %d", &x1, &y1, &x2, &y2); for (i = x1; i < x2; i++) for (j = y1; j < y2; j++) a[i][j] = 1; } for (i = 1; i <= 100; i++) for (j = 1; j <= 100; j++)...
-
[BOJ] 10093 : 숫자
10093 : 숫자 풀이 알잖아 너를 이토록 사랑하며 기다린 나를 뭐가 그리 바쁜지 너무 보기 힘들어 넌 도대체 뭐하고 다니니 코드 #include <cstdio> #include <algorithm> int main() { long long a, b; scanf("%lld %lld", &a, &b); if (a > b) std::swap(a, b); printf("%lld\n", b > a ? b - a - 1 : 0); for (++a; a < b; printf("%lld ", a++)); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C,...
-
[BOJ] 2563 : 색종이
2563 : 색종이 풀이 랭작조아 코드 #include <cstdio> int n, r, x, y, i, j, a[101][101]; int main() { scanf("%d", &n); while (n--) { scanf("%d %d", &x, &y); for (i = x; i < x + 10; i++) for (j = y; j < y + 10; j++) r += !a[i][j]++; } printf("%d", r); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조,...
-
[BOJ] 2587 : 대표값2
2587 : 대표값2 풀이 후후 코드 #include <cstdio> #include <algorithm> int i, s, a[5]; int main() { for (; i < 5; i++) scanf("%d", &a[i]), s += a[i]; std::sort(a, a + 5); printf("%d\n%d", s / 5, a[2]); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 2592 : 대표값
2592 : 대표값 풀이 히히 코드 #include <cstdio> int i, a, s, c[1001]; int main() { for (; i < 10; i++) scanf("%d", &a), s += a, c[a]++; for (; i < 1000; i += 10) if (c[c[0]] < c[i]) c[0] = i; printf("%d\n%d", s / 10, c[0]); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 2754 : 학점계산
2754 : 학점계산 풀이 호호 코드 #include <cstdio> int tc; double r; char s[3]; int main() { scanf("%s", s); if (s[0] == 'A') r = 4; if (s[0] == 'C') r = 2; if (s[0] == 'B') r = 3; if (s[0] == 'D') r = 1; if (s[1] == '+') r += 0.3; if (s[1] == '-') r -= 0.3; printf("%.1lf", r); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge,...
-
[BOJ] 2755 : 이번학기 평점은 몇점?
2755 : 이번학기 평점은 몇점? 풀이 하하 코드 #include <cstdio> int tc, hak, cnt; double res, tmp; char sbj[103], sco[3]; int main() { for (scanf("%d", &tc); tc--;) { scanf("%s %d %s", sbj, &hak, sco); if (sco[0] == 'A') tmp = 4; if (sco[0] == 'C') tmp = 2; if (sco[0] == 'B') tmp = 3; if (sco[0] == 'D') tmp = 1; if (sco[1] == '+') tmp += 0.3; if (sco[1] == '-') tmp -=...
-
[BOJ] 9047 : 6174
9047 : 6174 풀이 오후수업개꿀 코드 #include <cstdio> #include <functional> #include <algorithm> using namespace std; int main() { int tc; for (scanf("%d", &tc); tc--;) { int i, c = 0, a[5], b[5]; for (i = 0; i < 4; i++) scanf(" %1d", &a[i]); while (a[0] != 6 || a[1] != 1 || a[2] != 7 || a[3] != 4) { b[0] = a[0], b[1] = a[1], b[2] = a[2], b[3] = a[3]; sort(a, a +...
-
[BOJ] 3047 : ABC
3047 : ABC 풀이 꺄르르르르르르륵 코드 #include <cstdio> #include <algorithm> int a[5]; char b[5]; int main() { scanf("%d %d %d %s", &a[0], &a[1], &a[2], b); std::sort(a, a + 3); printf("%d %d %d", a[b[0] - 'A'], a[b[1] - 'A'], a[b[2] - 'A']); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1964 : 5각형, 5각형, 5각형...
1964 : 5각형, 5각형, 5각형… 풀이 알잖아 너를 이토록 사랑하며 기다린 나를~ 코드 main(n){printf("%d",scanf("%d",&n)+n*(3ll*n+5)/2%45678);} 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1373 : 2진수 8진수
1373 : 2진수 8진수 풀이 가나다라마바사 코드 #include <cstdio> int i, j; char c[1000005] = { '0','0' }; int main() { scanf("%s", c + 2); while (c[i]) c[i++] -= '0'; for (j = i % 3; j < i; j += 3) printf("%d", c[j]*4 + c[j+1]*2 + c[j+2]); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1371 : 가장 많은 글자
1371 : 가장 많은 글자 풀이 어디에도 그대가 살아서 코드 #include <cstdio> int ans, cnt[33]; char c; int main() { while (~scanf("%c", &c)) cnt[c - 'a']++; for (c = 0; c < 26; c++) ans = ans > cnt[c] ? ans : cnt[c]; for (c = 0; c < 26; c++) if (cnt[c] == ans) printf("%c", c + 'a'); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠,...
-
[BOJ] 1357 : 뒤집힌 덧셈
1357 : 뒤집힌 덧셈 풀이 돌리고 돌리고 돌리고~ 코드 #include <cstdio> int f(int n) { int r = 0; while (n) r *= 10, r += n % 10, n /= 10; return r; } int main() { int a, b; scanf("%d %d", &a, &b); printf("%d", f(f(a) + f(b))); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1312 : 소수
1312 : 소수 풀이 언젠가는 돌아갈게 사랑할 자격 갖춘 나 되어 코드 #include <cstdio> int a, b, c, n; int main() { scanf("%d %d %d", &a, &b, &n); while (n--) a %= b, a *= 10, c = a / b; printf("%d", c); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 15559 : 내 선물을 받아줘
15559 : 내 선물을 받아줘 풀이 boj에 내가 나왔으면 정말 좋겠네~ 정말 좋겠네~~~~ 코드 #include <iostream> using namespace std; int n, m, i, j, ans, cnt = 1, vst[1001][1001]; char a[1001][1001]; int main() { cin.tie(0); ios_base::sync_with_stdio(0); cin >> n >> m; for (i = 0; i < n; i++) cin >> a[i]; for (i = 0; i < n; i++) for (j = 0; j < m; j++) { if (vst[i][j]) continue; int y =...
-
[BOJ] 11728 : 배열 합치기
11728 : 배열 합치기 풀이 조아조아조아조아조아 코드 #include <cstdio> #include <algorithm> int a, b, c[2000001]; int main() { scanf("%d %d", &a, &b); a = b = a + b; while (a--) scanf("%d", &c[a]); std::sort(c, c + b); for (a = 0; a < b; a++) printf("%d ", c[a]); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1402 : 아무래도이문제는A번난이도인것같다
1402 : 아무래도이문제는A번난이도인것같다 풀이 a * 1 * 1 * 1 ... 이런 식으로 모든 수를 만들 수 있다. 코드 main(t){for(scanf("%d",&t);t--;)puts("yes");} 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 3460 : 이진수
3460 : 이진수 풀이 종강 언제지 코드 #include <cstdio> int main() { int tc; for (scanf("%d", &tc); tc; tc--) { int a, i = 0; scanf("%d", &a); while (a) { if (a & 1) printf("%d ", i); a >>= 1, i++; } puts(""); } return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 3449 : 해밍 거리
3449 : 해밍 거리 풀이 끄아아아아 코드 #include <iostream> #include <string> using namespace std; int n; string a, b; int main() { cin.tie(0); ios_base::sync_with_stdio(0); cin >> n; while (n--) { int r = 0; cin >> a >> b; for (int i = 0; i < a.size(); i++) if (a[i] != b[i]) r++; cout << "Hamming distance is " << r << ".\n"; } return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online...
-
[BOJ] 3040 : 백설 공주와 일곱 난쟁이
3040 : 백설 공주와 일곱 난쟁이 풀이 일단 다 더해놓고 2개씩 빼보자 코드 #include <cstdio> int s, a[11]; int main() { for (int i = 0; i < 9; i++) scanf("%d", a + i), s += a[i]; for (int i = 0; i < 9; i++) for (int j = i; j < 9; j++) if (i != j && s - a[i] - a[j] == 100) for (int k = 0; k < 9;...
-
[BOJ] 1356 : 유진수
1356 : 유진수 풀이 아 이별이 그리 쉬운가 세월 가버렸다고 이젠 나를 잊고서 멀리 멀리 떠나가는가 코드 #include <cstdio> int i, j, l; char s[11]; int main() { scanf("%s", s + 1); for (i = 1; s[i]; i++); l = i - 1; for (i = 1; i < l; i++) { int s1 = 1, s2 = 1; for (j = 1; j <= i; j++) s1 *= (s[j] - '0'); for (j =...
-
[BOJ] 1075 : 나누기
1075 : 나누기 풀이 저 푸른 초원 위에 그림 같은 집을 짓고 코드 #include <stdio.h> int a, b, i; int main() { scanf("%d %d", &a, &b); a /= 100; a *= 100; for (; i <= 100; i++) if ((a + i) % b == 0) return ~printf("%02d", (a + i) % 100); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제,...
-
[BOJ] 5543 : 상근날드
5543 : 상근날드 풀이 조아조아 코드 #include <stdio.h> #include <algorithm> int a, b, c, r, i = 2; int main() { while (i--) scanf("%d %d %d", &a, &b, &c), r += std::min({ a,b,c }); return ~printf("%d", r - 50); } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1783 : 병든 나이트
1783 : 병든 나이트 풀이 깁잇투유마눈눈눈눈눈눈눈빛 쏟아지는마터터터터터터터터치 코드 #include <stdio.h> int n, m; int main() { scanf("%d %d", &n, &m); if (n == 1) puts("1"); else if (n == 2) { if (m <= 6) printf("%d", (m + 1) / 2); else puts("4"); } else { if (m <= 4) printf("%d", m); else if (m == 5 || m == 6) puts("4"); else printf("%d", m - 2); } return 0; } 아무말 백준, 백준 온라인...
-
[BOJ] 1051 : 숫자 정사각형
1051 : 숫자 정사각형 풀이 주위를 둘러보면 온통 네모난 것들 뿐인데~ 코드 #include <stdio.h> int n, m, k, i, j; char a[55][55]; int main() { scanf("%d %d", &n, &m); for (i = 0; i < n; i++) scanf("%s", a[i]); k = n < m ? n : m; while (k--) for (i = 0; i < n - k; i++) for (int j = 0; j < m - k; j++) if (a[i][j] == a[i][j+k]...
-
[BOJ] 2231 : 분해합
2231 : 분해합 풀이 각 자리수의 최대값이 9이므로 [n-9*자릿수, n] 구간만 조사해도 된다! 코드 #include <stdio.h> int n, i, j, cnt, sum; int main() { scanf("%d", &n); i = n; while (i) i /= 10, cnt++; for (i = n - 9 * cnt; i < n; i++) { sum = i; for (j = i; j; j /= 10) sum += j % 10; if (sum == n) break; } printf("%d", i != n...
-
[BOJ] 2530 : 인공지능 시계
2530 : 인공지능 시계 풀이 오.바.와.치 코드 #include <stdio.h> int main() { int a, b, c, d; scanf("%d %d %d %d", &a, &b, &c, &d); c += d; b += c / 60, c %= 60; a += b / 60, b %= 60; a %= 24; printf("%d %d %d", a, b, c); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제,...
-
[BOJ] 2460 : 지능형 기차
2460 : 지능형 기차 풀이 이보게 풀이를 찾아온 자네! 입력을 어떻게 받을지 고민하는 표정이군. scanf는 입력 파일의 끝을 만나면 End Of File (EOF)를 리턴한다네. 그리고 EOF는 대부분의 컴파일러에서 상수값 -1로 정의되어있지! (컴파일러 마다 다르게 동작할 수도 있네만) 대부분의 환경에서 -1은 int형에서 111..111(2)로 저장된다네. (부호 비트가 1로 켜지는 셈이지!) 자세한 것은 위키피디아를 참고하게나. 따라서 111...111(2)를 ~ 연산자로 비트반전 시켜주면 0이 된다네! 그러므로 EOF를 만나면 while (0)이 되어 반복문이 종료되는 것이지! 하지만 바람직한 풀이는 while (scanf() !=...
-
[BOJ] 1547 : 공
1547 : 공 풀이 자자~ 돈 놓고 돈 먹기~ 코드 #include <stdio.h> #include <algorithm> int n, x, y, a[4] = { 0,1 }; int main() { scanf("%d", &n); while (n--) scanf("%d %d", &x, &y), std::swap(a[x], a[y]); for (n = 1; n <= 3; n++) if (a[n]) printf("%d", n); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1057 : 토너먼트
1057 : 토너먼트 풀이 My life for Aiur! 코드 #include <stdio.h> int n, a, b, c; int main() { scanf("%d %d %d", &n, &a, &b); while (a != b) a = a/2+a%2, b = b/2+b%2, c++; printf("%d", c); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1764 : 듣보잡
1764 : 듣보잡 풀이 stl로 떡칠해보자!! 코드 #include <iostream> #include <algorithm> #include <string> #include <vector> #include <set> using namespace std; int n, m; string t; set<string> s; vector<string> v; int main() { cin.tie(0); ios_base::sync_with_stdio(0); cin >> n >> m; while (n--) cin >> t, s.insert(t); while (m--) cin >> t, s.count(t) ? v.emplace_back(t) : [](){}(); sort(v.begin(), v.end()); cout << v.size() << "\n"; for (auto it : v) cout << it << "\n"; return 0; }...
-
[BOJ] 2941 : 크로아티아 알파벳
2941 : 크로아티아 알파벳 풀이 쿵짝쿵짝 쿵짜라 코드 #include <stdio.h> #include <string.h> int i, c; char s[111]; int main() { scanf("%s", s); while (i < strlen(s)) { if (s[i] == 'c' && (s[i+1] == '=' || s[i+1] == '-')) i++; else if (s[i] == 'd') { if (s[i+1] == '-') i++; else if (s[i+1] == 'z' && s[i+2] == '=') i+=2; } else if ((s[i] == 'l' || s[i] == 'n') && s[i+1] == 'j')...
-
[BOJ] 2953 : 나는 요리사다
2953 : 나는 요리사다 풀이 아 출근하기 싫다 코드 i = 5, j, a, s, mn, mx; main() { while (i--) { for (j = 0, s = 0; j < 4; j++) scanf("%d", &a), s += a; if (mx < s) mn = 5 - i, mx = s; } printf("%d %d", mn, mx); } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제,...
-
[BOJ] 1966 : 프린터 큐
1966 : 프린터 큐 풀이 프린터 터져욧!! 코드 #include </bits/stdc++.h> using namespace std; int main() { int tc; scanf("%d", &tc); while (tc--) { int n, m, cnt = 1; queue<pair<int, int> > qu; priority_queue<int> pq; scanf("%d %d", &n, &m); for (int i = 0, a; i < n; i++) { scanf("%d", &a); qu.push({ a,i }); pq.push(a); } while (!pq.empty()) { auto n1 = qu.front(); int n2 = pq.top(); if (n1.first == n2) { if (n1.second...
-
[BOJ] 2798 : 블랙잭
2798 : 블랙잭 풀이 퇴근 하고 싶다 코드 #include <stdio.h> int n, m, i, j, k, a[101], ans; int main() { scanf("%d %d", &n, &m); for (int i = 0; i < n; i++) scanf("%d", &a[i]); for (i = 0; i < n; i++) for (j = 0; j < n; j++) for (k = 0; k < n; k++) if (i != j && j != k && k != i) { int t...
-
[BOJ] 2525 : 오븐 시계
2525 : 오븐 시계 풀이 나눗셈을 오지고 지리게 해보자. 코드 #include <stdio.h> int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); b += c, a += b / 60; b %= 60, a %= 24; printf("%d %d", a, b); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 2522 : 별찍기 - 12
2522 : 별찍기 - 12 풀이 오늘도 별이 바람에 스치운다 코드 #include <cstdio> int abs(int a) { return a < 0 ? -a : a; } int main() { int n, i, j, k; scanf("%d", &n); for (i = 1; i < n * 2; i++) { for (j = 0; j < abs(n - i); j++) printf(" "); for (k = 0; k < n - j; k++) printf("*"); puts(""); } return 0; }...
-
[BOJ] 2581 : 소수
2581 : 소수 풀이 소수를 멋지게 구해보자. 코드 #include <stdio.h> int n, m, sum, min; void f(int k) { if (k == 1) return; for (int i = 2; i <= k / 2; i++) if (k % i == 0) return; if (!min) min = k; sum += k; } int main() { scanf("%d %d", &n, &m); for (int i = n; i <= m; i++) f(i); if (!sum) printf("-1"); else printf("%d\n%d", sum, min);...
-
[BOJ] 1158 : 조세퍼스 문제
1158 : 조세퍼스 문제 풀이 단순 구현 코드 #include <bits/stdc++.h> using namespace std; int n, m, pos; vector<int> a; int main() { cin >> n >> m; for (int i = 0; i < n; i++) a.push_back(i + 1); printf("<"); while (1) { pos = (pos + m - 1) % a.size(); if (a.size() > 1) { printf("%d, ", a[pos]); } else { printf("%d>", a[pos]); break; } a.erase(a.begin() + pos); } return 0; } 아무말...
-
[BOJ] 13458 : 시험 감독
13458 : 시험 감독 풀이 행복을 줄 수 없었어 그런데 사랑을 했어 네 곁에 감히 머무른 내 욕심을 용서치마 코드 #include <stdio.h> int n, i, a[1000001], b, c; long long ans; int main() { scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", a + i); scanf("%d %d", &b, &c); for (i = 0; i < n; i++) { ans++, a[i] -= b; if (a[i] > 0) ans += a[i] / c +...
-
[BOJ] 3190 : 뱀
3190 : 뱀 풀이 매번 늦어도 이해할게 누굴 만났니 먼저 묻지 않을게 고집스런 내 사랑 너의 말은 변명이라도 믿고 싶을테니 눈 비비는 척 눈물 닦아내고 다음 약속도 잡을 이유 만들지 네 마음보다 한숨과 친해져도 널 보기위해 난 사니까 수 없이 어긋난대도 기다릴게 아무리 가슴 아파도 웃어볼게 떠나선 안 돼 서둘러 져버리지 마 날 밀어내도 깊어지는 이 사랑을 봐 내 입을 막아도 세상이 다 아는데 왜 너만 몰라 왜 널 지킬 남자를 몰라 코드 #include <stdio.h>...
-
[BOJ] 14504 : 로봇 청소기
14504 : 로봇 청소기 풀이 문제에서 주어진대로 구현하면 된다. 지문이 좀 헷갈리게 써있어서 많이 헤메다 풀었다 ㅠㅠ 코드 #include <stdio.h> #define r(a,b) a=(a+b)%4 const int dx[] = { -1,0,1,0 }; const int dy[] = { 0,1,0,-1 }; int n, m, x, y, nx, ny, d, ans; int main() { int a[55][55] = { 0 }; scanf("%d %d %d %d %d", &n, &m, &x, &y, &d); for (int i = 0; i < n; i++) for...
-
[BOJ] 10875 : 뱀
10875 : 뱀 풀이 삼성 문제들은 하나같이 빡친다 단순 구현! 인데 좀 빡치는 구현 O(n^2)에 풀어주자. i번째에 뱀이 움직여서 생긴 선분과 1 ~ i-1번째까지 움직여서 생긴 선분들을 비교해주면 된다. check() 함수가 교차에 관한 구현을 담고 있다. 맵 밖으로 나가는지 여부는 귀찮으니 맵 바깥에 선분을 그어 한 번에 처리해버리자. 음… 자세한 건 주석을 참조하자. 코드 #include <stdio.h> #include <vector> #include <algorithm> #define pb push_back using namespace std; const int INF = 2e9; const int dx[] =...
-
[BOJ] 1213 : 팰린드롬 만들기
1213 : 팰린드롬 만들기 풀이 앞뒤로 앞뒤로 넣어주자~ 코드 #include <stdio.h> #include <string.h> int n, i, cnt, flag, a[26]; char str[55]; int main() { scanf("%s", str); n = strlen(str); for (i = 0; i < n; i++) { a[str[i] - 65]++; } for (i = 0; i < 26; i++) { while (a[i]) { if (a[i] == 1) { if (flag) { puts("I'm Sorry Hansoo"); return 0; } flag = 1, str[n / 2] =...
-
[BOJ] 13269 : 쌓기나무
13269 : 쌓기나무 풀이 앞에서 보이는 최대 값들로 채워준 다음 옆에서 보이는 최대 값들을 만족하게 바꿔준다 그리고 조건을 만족하는지 체크해보자! 코드 #include <stdio.h> #define REP(k,n) for(k=0;k<n;k++) #define RRP(k,n) for(k=n-1;k>=0;k--) int main() { int n, m, i, j, a[500][500], b[500], c[500]; scanf("%d %d", &n, &m); REP(i,n) REP(j,m) scanf("%d", &a[i][j]); REP(j,m) { scanf("%d", &b[j]); REP(i,n) if (a[i][j] == 1) a[i][j] = b[j]; } RRP(i,n) { scanf("%d", &c[i]); REP(j,m) if (a[i][j] > c[i]) a[i][j] = c[i]; } REP(j,m)...
-
[BOJ] 13268 : 셔틀런
13268 : 셔틀런 풀이 달빛이 흡사 비오듯 쏟아지는 밤에도 우리는 헐어진 성(城)터를 헤매이면서 언제 참으로 그 언제 우리 하늘에 오롯한 태양을 모시겠느냐고 가슴을 쥐어뜯으며 이야기하며 이야기하며 가슴을 쥐어뜯지 않았느냐? 코드 #include <stdio.h> #include <stdlib.h> #define a(e) for(int i=1;i<=e;i++)n-=5,f(i) #define b(e) for(int i=e;i>=1;i--)n-=5,f(i) int n, k; void f(int a) { if (n <= 0) { printf("%d", a); exit(0); } } int main() { scanf("%d", &n); n %= 100; for (int j = 0; j <= 4;...
-
[BOJ] 14732 : 행사장 대여
14732 : 행사장 대여 풀이 오늘도 별이 바람에 스치운다. 코드 #include <stdio.h> int n, i, j, a, b, c, d, ans; bool chk[501][501]; int main() { for (scanf("%d", &n); n--;) { scanf("%d %d %d %d", &a, &b, &c, &d); for (i = a; i < c; i++) for (j = b; j < d; j++) if (!chk[i][j]) ans++, chk[i][j] = 1; } printf("%d", ans); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online...
-
[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] 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] 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, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 2784 : 가로 세로 퍼즐
2784 : 가로 세로 퍼즐 풀이 n 제한이 굉장히 작으므로 naive하게 그냥 다 돌려보면 된다! 코드 #include <iostream> #include <string> #include <algorithm> using namespace std; string pzl[3], wrd[6]; void wookje() { bool chk[6] = { 0 }; int cnt = 0; for (int k = 0; k < 3; k++) { for (int i = 0; i < 6; i++) { if (!chk[i] && pzl[k] == wrd[i]) { chk[i] = 1, cnt++; break; } }...
-
[BOJ] 2783 : 삼각 김밥
2783 : 삼각 김밥 풀이 그냥 짜면 된다! 코드 #include <stdio.h> double a, b, n, f; int main() { scanf("%lf %lf %lf", &a, &b, &n); f = a / b; while (n--) { scanf("%lf %lf", &a, &b); f = f < a / b ? f : a / b; } printf("%lf", f * 1000); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘,...
-
[BOJ] 2459 : 철사 자르기
2459 : 철사 자르기 풀이 문제를 끝까지 안 읽어서 직선의 위치를 직접 정해야 하는 줄 알았는데 알고보니 직선의 위치를 문제에서 주는 거였다. i번째 점과 i+1번째 점의 좌표를 이용해서 어찌저찌 잘 짜면 된다. 코드 #include <bits/stdc++.h> #define fst first #define snd second using namespace std; int n, k, l; pair<int, int> p[100002]; int main() { scanf("%d %d", &n, &k); for (int i = 0; i < k; i++) scanf("%d %d", &p[i].fst, &p[i].snd); p[k++] = { 1,1...
-
[BOJ] 2456 : 나는 학급회장이다
2456 : 나는 학급회장이다 풀이 완전 쌩노가다 문제! 점수 합이 같은 경우에는 높은 점수의 개수(?)를 비교해야 한다. 점수의 개수를 카운팅하지 말고, 점수를 제곱해서 더해주자! 점수의 개수에 따라 제곱합 값이 달라지기 때문에 점수의 개수가 다르다면 unique함이 보장된다. 잔재주를 조금 부리면 코드 길이를 엄청 줄일 수 있다. 코드 #include <stdio.h> #include <algorithm> #define fst first #define snd second using namespace std; int n, f; pair<int, int> p[3]; int main() { scanf("%d", &n); for (int i = 0;...
-
[BOJ] 2455 : 지능형 기차
2455 : 지능형 기차 풀이 기차 뿌뿌 코드 #include <stdio.h> int s, m; int main() { for (int i = 0; i < 4; i++) { int a, b; scanf("%d %d", &a, &b); s = s - a + b; m = m > s ? m : s; } printf("%d", m); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge
-
[BOJ] 1316 : 그룹 단어 체커
1316 : 그룹 단어 체커 풀이 i번째 문자와 i-1번째 문자가 같다면 둘은 연속된 문자이므로 같은 그룹에 속한다. 단어가 그룹에 속해있지 않는 경우는 이미 앞에서 동일한 문자가 나왔고, i번째 문자와 i-1번째 문자가 다른 경우이다. 체킹 배열을 만들어서 체크해주자! 코드 #include <iostream> #include <string> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int tc, ans = 0; string str; cin >> tc; while (tc--) { bool chk[26] = { 0 }, flg = 0; cin >> str;...
-
[BOJ] 11509 : 풍선 맞추기
11509 : 풍선 맞추기 풀이 높이 a의 풍선을 볼 때, a+1 높이에서 날아오는 화살이 있는지 검사해주자! 코드 #include <iostream> using namespace std; int n, a, i, ans, cnt[1000001]; int main() { std::ios_base::sync_with_stdio(false); cin >> n; for (i = 0; i < n; i++) { cin >> a; if (!cnt[a+1]) cnt[a]++, ans++; else cnt[a+1]--, cnt[a]++; } cout << ans; return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge
-
[BOJ] 2501 : 약수 구하기
2501 : 약수 구하기 풀이 ㅎㅎ 코드 #include <stdio.h> int main() { int n, k, cnt=0; scanf("%d %d",&n,&k); for(int i=1;i<=n;i++) { if (!(n%i)) cnt++; if (cnt == k) { printf("%d", i); return 0; } } puts("0"); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 11508 : 2+1 세일
11508 : 2+1 세일 풀이 ㅎㅎ 코드 #include <stdio.h> #include <algorithm> int main() { int n, i, sum = 0, c[100001]; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &c[i]), sum += c[i]; std::sort(c, c + n); for (i = n - 3; i >= 0; i -= 3) sum -= c[i]; for (i = 0; i < i % 3; i++) sum -= c[i]; printf("%d", sum); return 0; } 아무말 백준,...
-
[BOJ] 1107 : 리모컨
1107 : 리모컨 풀이 그냥 다 돌려보자! 코드 #include <stdio.h> int n, m, i, k, ans, res; bool chk[10]; int hi(int a) { int cnt = 0; while (a) { if (chk[a % 10]) return -1; a /= 10; cnt++; } return cnt; } int main() { scanf("%d %d", &n, &m); for (i = 0; i < m; i++) scanf("%d", &k), chk[k] = true; ans = n - 100; if (ans < 0) ans =...
-
[BOJ] 2010 : 플러그
2010 : 플러그 풀이 새로운 멀티탭의 플러그 수에서 하나를 뺀 값을 더해주면 된다. 코드 #include <stdio.h> int main() { int n, i, k, sum = 1; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&k); sum += k-1; } printf("%d",sum); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 1110 : 더하기 사이클
1110 : 더하기 사이클 풀이 do while 처음 써봤다 ㅋㅋ 코드 #include <stdio.h> int main() { int n, m, c = 0; scanf("%d", &n); m = n; do { c++, m = (m % 10) * 10 + (m / 10 + m % 10) % 10; } while (n != m); printf("%d", c); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조,...
-
[BOJ] 2511 : 카드놀이
2511 : 카드놀이 풀이 구현을 하자. 코드 #include <bits/stdc++.h> using namespace std; int a[10], b[10], i, A, B, p; int main() { for (i = 0; i < 10; i++) scanf("%d", &a[i]); for (i = 0; i < 10; i++) scanf("%d", &b[i]); for (i = 0; i < 10; i++) { if (a[i] > b[i]) A += 3, p = 0; else if (a[i] < b[i]) B += 3, p = 1; else A++, B++;...
-
[BOJ] 11866 : 조세퍼스 문제 0
11866 : 조세퍼스 문제 0 풀이 단순 구현 코드 #include <bits/stdc++.h> using namespace std; int n, m, pos; vector<int> a; int main() { cin >> n >> m; for (int i = 0; i < n; i++) a.push_back(i + 1); printf("<"); while (1) { pos = (pos + m - 1) % a.size(); if (a.size() > 1) { printf("%d, ", a[pos]); } else { printf("%d>", a[pos]); break; } a.erase(a.begin() + pos); } return 0; }...
-
[BOJ] 10801 : 카드게임
10801 : 카드게임 풀이 단순 구현. 코드 #include <bits/stdc++.h> using namespace std; int a[20], x, y; int main() { for (int i = 0; i < 20; i++) scanf("%d", &a[i]); for (int i = 0; i < 10; i++) { if (a[i] > a[i + 10]) x++; if (a[i] < a[i + 10]) y++; } if (x > y) puts("A"); else if (x < y) puts("B"); else puts("D"); return 0; } 아무말 백준, 백준 온라인...