끄적끄적 코딩
article thumbnail
[C++] 백준 5543번 상근날드
알고리즘 2019. 9. 13. 13:10

가장 싼 햄버거와 가장 싼 음료수의 값을 더한 후 50을 빼주면 됩니다. #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int food[3]; int drink[2]; cin >> food[0]; cin >> food[1]; cin >> food[2]; cin >> drink[0]; cin >> drink[1]; food[0] = min({ food[0], food[1], food[2]}); drink[0] = min(drink[0], drink[1]); cout

article thumbnail
[C++] 백준 10797번 10부제
알고리즘 2019. 9. 13. 13:03

입력받은 n과 5개의 수열에서 같은 것이 몇개 있는지 찾아서 출력하면 됩니다. #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int n; int count = 0; int arr[5]; cin >> n; for (int i = 0; i > arr[i]; if (n == arr[i]) { ++count; } } cout

article thumbnail
[C++] 백준 2490번 윷놀이
알고리즘 2019. 9. 13. 12:57

윷놀이 문제입니다. 배는 0, 등은 1로 표현하며, 도 개 걸 윷 모에 대해서 출력하는 문제입니다. #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int sum; int cycle = 3; int a, b, c, d; while (cycle--) { cin >> a >> b >> c >> d; sum = a + b + c + d; switch (sum) { case 0: cout

article thumbnail
[C++] 백준 10039번 평균 점수
알고리즘 2019. 9. 13. 12:47

5개의 값을 평균내는 문제입니다. 40미만의 점수는 보충수업으로 40점을 받으므로 40미만은 40점으로 바꿔서 계산해주면 됩니다. #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int num = 0; int sum = 0; for (int i = 0; i > num; if (num < 40) { num = 40; } sum += num; } cout

article thumbnail
[C++] 백준 10870번 피보나치 수 5
알고리즘 2019. 9. 13. 03:17

피보나치 수 문제입니다. 수의 범위가 너무 크기 때문에 int, long long으로 선언하더라도 오버플로우가 나게 됩니다. string으로 값을 받아서 계산해주었습니다. #include #include #include #include #include using namespace std; string sum(string x, string y) { int num; int carry = 0; string result; reverse(x.begin(), x.end()); reverse(y.begin(), y.end()); while (x.length() y.length()) { y += '0'; } for (int i = 0..

article thumbnail
[C++] 백준 4150번 피보나치 수
알고리즘 2019. 9. 13. 03:16

피보나치 수 문제입니다. 수의 범위가 너무 크기 때문에 int, long long으로 선언하더라도 오버플로우가 나게 됩니다. string으로 값을 받아서 계산해주었습니다. #include #include #include #include #include using namespace std; string sum(string x, string y) { int num; int carry = 0; string result; reverse(x.begin(), x.end()); reverse(y.begin(), y.end()); while (x.length() y.length()) { y += '0'; } for (int i = 0..

article thumbnail
[C++] 백준 2749번 피보나치 수 3
알고리즘 2019. 9. 13. 00:11

피보나치 수 문제입니다. 피보나치 수는 arr[n] = arr[n-1] + arr[n-2]의 규칙을 가집니다. n의 수가 너무 크므로 배열을 만들 수 없습니다. a = 0; b = 1; 다음 3줄을 반복하여서 값을 구했습니다. result = a + b; a = b; b = result; 피보나치수열을 나눈 나머지는 일정한 주기를 가집니다. 이 때 나누는 값이 M^n이면 주기는 10 * 10^(k-1)입니다. 나누는 값이 100만이므로 주기는 150만이므로 150만을 나누어주었습니다. #include #include #include #include using namespace std; typedef long long ll; int main(int argc, char* argv[]) { ll n; ll x..

article thumbnail
[C++] 백준 10826번 피보나치 수 4
알고리즘 2019. 9. 12. 22:59

피보나치 수 문제입니다. 먼저 다이나믹 프로그래밍 기법을 이용해 DP[i] = DP[i-1] + DP[i-2]의 점화식을 사용했습니다. 이때 값의 길이가 너무 길어져서 오버플로우가 발생하므로 string으로 저장을 했습니다. string끼리의 덧셈을 할 때는 각 숫자를 더하고 올림에 대해서는 다음 자리수의 덧셈에 올라간 수를 같이 더해주는 방식을 사용했습니다. #include #include #include #include #include using namespace std; string sum(string x, string y) { int num; int carry = 0; string result; reverse(x.begin(), x.end()); reverse(y.begin(), y.end());..

검색 태그