'''약수의 합''' {{{#include #include #include int solution(int n) { int answer = 0; for (int i = n; i > 0; i--) { if (n % i == 0) { answer += i; } else continue; } return answer; } }}} '''하샤드수''' {{{#include #include #include bool solution(int x) { bool answer = true; int sum = 0; while (1) { sum += x % 10; if (x / 10 < 10) { sum += x / 10; break; } else { x /= 10; } } if (x % sum == 0) answer = true; else answer = false; return answer; } }}} '''수박수박수''' {{{#include #include #include #include char* solution(int n) { char* answer = (char*)malloc(n * 3); char* a = "수"; char* b = "박"; for (int i = 0; i < n; i++) { strcpy(&answer[i * 3], i % 2 ? b : a); } return answer; } }}} '''두개 뽑아서 더하기''' {{{#include #include #include #define SWAP(a, b) {int t = a; a = b; b = t;} int* solution(int numbers[], size_t numbers_len) { int length = 0; int* answer = (int*)malloc(sizeof(int) * 100); for (int i = 0; i < numbers_len - 1; i++) { for (int j = i + 1; j < numbers_len; j++) { int add = numbers[i] + numbers[j]; int check = 1; for (int k = 0; k < length; k++) { if (answer[k] == add) check = 0; } if (check == 1) { answer[length] = add; length++; } } } for (int i = 0; i < length; i++) { for (int j = 0; j < length - 1; j++) { if (answer[j] > answer[j + 1]) SWAP(answer[j], answer[j + 1]); } } return answer; } }}} '''- 별찍기''' {{{#include int main(void) { int a; int b; scanf_s("%d %d", &a, &b); printf("%d\n", a + b); for (int i = 0; i < b; i++) { for (int j = 0; j < a; j++) { printf("*"); } printf("\n"); } return 0; } }}} '''문자열 정렬''' {{{#include #include #include #include #define SWAP(a,b) {int t = a;a = b;b = t;} char* solution(const char* s) { int cnt = strlen(s); char* answer = (char*)malloc(sizeof(char) * cnt); for (int i = 0; i <= cnt; i++) { answer[i] = s[i]; } for (int i = 0; i < cnt; i++) { for (int j = 0; j < cnt - 1; j++) { if (answer[j] <= answer[j + 1]) { SWAP(answer[j], answer[j + 1]); } } } return answer; } }}} '''문자열을 정수로 바꾸기''' {{{#include #include #include int solution(const char* s) { int answer = 0; answer = atoi(s); return answer; } }}} '''문자열 다루기''' {{{#include #include #include #include #include bool solution(const char* s) { bool answer = true; int count = strlen(s); for (int i = 0; i < count; i++) { if (isalpha(s[i])) { answer = false; } } if ((count == 4 || count == 6) != 1) { answer = false; } return answer; } }}} '''두 정수 사이의 합''' {{{#include #include #include long long solution(int a, int b) { long long answer = 0; long long sum = 0; if (a > b) { for (int i = b; i <= a; i++) { sum += i; } answer = sum; } else if (a < b) { for (int i = a; i <= b; i++) { sum += i; } answer = sum; } else { answer = a; } return answer; } }}} '''가운데 글자 가져오기''' {{{#include #include #include #include char* solution(const char* s) { char* answer; int cnt = strlen(s); if (cnt % 2) { answer = (char*)malloc(sizeof(char)); answer[0] = s[cnt / 2]; answer[1] = '\0'; } else { answer = (char*)malloc(sizeof(char) * 2); answer[0] = s[(cnt / 2) - 1]; answer[1] = s[cnt / 2]; answer[2] = '\0'; } return answer; } }}} '''2016년''' {{{#include #include #include char* solution(int a, int b) { char* answer = (char*)malloc(sizeof(char) * 10); int day = b; int month[] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; for (int i = 0; i < a; i++) { day += month[i - 1]; } switch (day % 7) { case 0: answer = "THU"; break; case 1: answer = "FRI"; break; case 2: answer = "SAT"; break; case 3: answer = "SUN"; break; case 4: answer = "MON"; break; case 5: answer = "TUE"; break; case 6: answer = "WED"; break; } return answer; } }}} '''자릿수 더하기''' {{{#include #include #include int solution(int n) { int answer = 0; while (1) { answer += n % 10; n /= 10; if (n / 10 == 0) { answer += n; break; } } return answer; } }}} '''자연수를 뒤집어 배열로 만들기''' {{{#include #include #include int* solution(long long n) { int i = 0; int* answer = (int*)malloc(sizeof(int) * 11); do { answer[i++] = n % 10; n /= 10; } while (n > 0); return answer; } }}} '''정수 제곱근 판별''' {{{#include #include #include #include long long solution(long long n) { long long answer = 0; if ((int)sqrt(n) == sqrt(n)) { answer = (sqrt(n) + 1) * (sqrt(n) + 1); } else answer = -1; return answer; } }}}