끄적끄적 코딩
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());..

article thumbnail
[C++] 백준 10987번 모음의 개수
알고리즘 2019. 9. 12. 01:20

모음의 개수를 카운트 한 다음 출력해주었습니다. #include #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int count = 0; string s; cin >> s; for (int i = 0; i < s.length(); ++i) { if (s[i] == 'a' || s[i] == 'e' || s[i] == 'o' || s[i] == 'u' || s[i] == 'i') { ++count; } } cout

article thumbnail
[C++] 백준 2864번 5와 6의 차이
알고리즘 2019. 9. 12. 01:17

문자로 입력 받은 후 5를 6으로 해서 string에 저장하고 6을 5로 해서 다른 string에 저장합니다. 최소값을 구할때는 6을 5로 한 string끼리 더하고 최대값을 구할때는 5를 6으로 한 string끼리 더합니다. string을 int로 바꿀때는 stoi 함수를 사용했고 int를 string으로 바꿀때는 to_string함수를 사용했습니다. #include #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int temp; string s1; string s2; string sMin; string sMax; cin >> s1; cin >> s2; string s1Min = s1;..

검색 태그