본문 바로가기

Algorithm

(2091)
(C++) - 백준(BOJ) 2476 : 주사위 게임 답 #include using namespace std; int main() { int arr[3], cnt = 0, big = 0, last = 0, T, score = 0; cin >> T; for (int i = 0; i > arr[i]; } for (int i = 0; i last) last = score; break; case 1: for ..
(C++) - 백준(BOJ) 2480 : 주사위 세개 답 #include using namespace std; int main() { int arr[3],cnt = 0,big = 0; for (int i = 0; i > arr[i]; } for (int i = 0; i < 2; i++)//같은게 있는지 찾음 { for (int j = i + 1; j < 3; j++) { if (arr[i] == arr[j]) cnt++; } } switch (cnt) { case 3: cout
(C++) - 백준(BOJ)코딩 1026번 : 보물 www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net greedy 문제였습니다. 풀이방법 상식적? 감으로 생각했을 때 S의 값을 가장 적게 만들기 위해서는 제일 작은 수를 제일 큰 수끼리 짝지어서 곱해주었을 때 그 합이 최소가 됩니다. 문제에서 B의 수는 재배열하면 안되지만 A는 옮길 수 있습니다. 이 말은 자칫 B를 고정하고 A를 한 칸씩 옮기는 brute force를 생각할 수 있으나 A,B 둘다 옮길 때와 A의 원소들만을 옆으로 옮겨줄 때는 같다는 생..
(C++) - 백준(BOJ)코딩 2501번 : 약수 구하기 답 www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net Code #include using namespace std; int main() { int ans[10000] = { 10000 }, N , K, cnt = 0, p = 0; cin >> N >> K; for(int i = 1; i N) break; if (N % i == 0)//약수라면 { cnt++; ans[p++] = i; } } if (cnt < K) cout
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1357번:뒤집힌 덧셈 답 12345678910111213141516171819202122232425#include #include #include using namespace std; int Rev(int a){ char ans[5]; int tmp; sprintf(ans, "%d", a); for (int i = 0; i > X >> Y; cout
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 2490번:윷놀이 답 12345678910111213141516171819202122232425262728293031#include using namespace std;int main() { int cnt = 0, arr[4]; for (int j = 0; j arr[i]; if (arr[i] == 0) //배의 개수 cnt++; } switch (cnt) { case 0: cout
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1427번:소트인사이드 답 123456789101112131415161718192021#include #include using namespace std;int compare(const void *a, const void *b){ return *(int *)b - *(int*)a;}int main() { string num; cin >> num; int *arr = new int[num.size()]; for (int i = 0; i
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1003번:피보나치 함수 답 12345678910111213141516171819202122232425262728#include using namespace std;int cnt0 = 0, cnt1 = 0;long long F(int num){ if (num == 0) { cnt0++; return 0; } if (num == 1) { cnt1++; return 1; } return F(num - 2) + F(num - 1);}int main() { int T, num; cin >> T; for (int i = 0; i > num; F(num); cout