본문 바로가기

C51

[BOJ] 2022 SISS 1학기 스터디 - 1주차 # 2609 : 최대공약수와 최소공배수 (Class 2) [문제] [코드 및 결과] #include int get_gcd(num1, num2) { int gcd; for (int i = 1; i 2022. 4. 3.
[BOJ] SISS 겨울방학 스터디 - 8주차 #11720 [문제] [코드 및 결과] #include int main() { int N, sum = 0; char num[100]; scanf("%d\n", &N); for (int i = 0; i < N; i++) { scanf("%c", &num[i]); sum += num[i] - '0'; } printf("%d\n", sum); return 0; } [설명] 숫자의 개수 N을 입력받고 문자열 num배열을 선언하여 여기에 N개의 정수를 저장하도록 했다. (공백없이 입력하는 게 가능하기 때문) 반복문으로 입력받는 정수를 저장하며 동시에 sum에 값을 더해준다. 여기서 문자열로 입력 받았기 때문에 '0'을 빼줘서 정수값을 저장하도록 했다. 마지막으로 위에서 구한 sum을 출력한다. #1085 [문제].. 2022. 2. 17.
[BOJ] SISS 겨울방학 스터디 - 7주차 #10809 [문제] [코드 및 결과] #include int main() { int alpha[26]; char s[101]; scanf("%s", s); for (int i = 0; i < 26; i++) { alpha[i] = -1; } for (int i = 'a'; i num[i]) min = num[i]; } printf("%d %d\n", min, max); return 0; } [설명] 입력받을 정수의 개수 N과 입력받을 정수를 저장할 배열 num을 정수로 선언해주고 정수의 범위에 따라 max는 -1000000, min은 1000000으로 초기값을 잡아준다. scanf로 정수의 개수 N을 입력받고 N만큼 숫자를 입력받아 num 배열에 차근차근 저장해준다. 그리고 값을 배열에 저장하는 동시에.. 2022. 2. 10.
[BOJ] SISS 겨울방학 스터디 - 6주차 #2908 [문제] [코드] #include int rev(int n) { int result = 0; while (n != 0) { result *= 10; result += n % 10; n /= 10; } return result; } int main() { int A, B, max = 0; scanf("%d %d", &A, &B); if (rev(A) > rev(B)) max = rev(A); else max = rev(B); printf("%d\n", max); } [설명] 입력받을 두 수 A, B와 두 수 중에 큰 수를 저장할 max를 정수로 놓는다. 함수 rev를 선언하여 입력받은 수를 거꾸로 뒤집는다. (몫과 나머지 연산 이용) 조건문으로 rev 함수를 이용하여 구한 두 수를 비교하고 두 .. 2022. 2. 6.
[BOJ] SISS 겨울방학 스터디 - 5주차 #2742 [문제] [코드] #include int main() { int N; scanf("%d", &N); for (int i = N; i >= 1; i--) { printf("%d\n", i); } return 0; } [설명] 자연수 N을 정수로 선언하고 scanf 함수로 수를 입력받는다. 입력받은 N을 기준으로 N부터 1까지 한줄에 하나씩 출력해야 하므로 반복문을 이용한다. 반복문 for를 이용하여 i에 N의 값을 저장하고 N부터 하나씩 값을 줄여나가면서 i 값을 출력한다. #2753 [문제] [코드] #include int main() { int N; scanf("%d", &N); if ((N % 4 == 0 && N % 100 != 0) | (N % 400 == 0)) printf("1\n".. 2022. 1. 28.
[BOJ] SISS 겨울방학 스터디 - 4주차 #2675 [문제] [코드] #include int main() { int T, R; char str[20]; scanf("%d", &T); for (int i = 0; i < T; i++) { scanf("%d %s", &R, str); for (int j = 0; str[j] != '\0'; j++) { for (int k = 0; k < R; k++) printf("%c", str[j]); } printf("\n"); } return 0; } [설명] 테스트케이스 T, 반복 횟수 R을 정수로 선언하고 입력받을 문자열 str을 크기가 20인 문자열 배열로 선언한다. 테스트케이스를 입력받고 입력받은 테스트케이스 수 만큼 반복하여 R과 str을 입력받도록 한다. 입력받은 str의 처음부터 끝까지 한번씩 .. 2022. 1. 22.
[BOJ] SISS 겨울방학 스터디 - 3주차 #2475 [문제] [코드] #include #include int main() { int num[5], sum = 0; for (int i = 0; i < 5; i++) { scanf("%d", &num[i]); sum += pow(num[i], 2); // math 헤더파일 미포함 시 num[i] * num[i]로 대체 가능 } printf("%d\n", sum % 10); return 0; } [설명] 입력 받을 숫자 5개를 저장할 배열 num과 이 숫자들의 합 sum을 정수로 선언한다. 반복문으로 각 숫자들을 입력 받아 배열에 저장하고 저장할 때마다 sum에 num[i]를 제곱한 값을 더해준다. 여기서, math 헤더파일을 포함해준 경우에는 pow 함수를 이용하고, 아닌 경우에는 num[i]*nu.. 2022. 1. 14.
[BOJ] SISS 겨울방학 스터디 - 2주차 #1546 [문제] [코드] #include int main() { int N; float average, max = 0, sum = 0; scanf("%d", &N); int score[N]; for (int i = 0; i max) max = score[i]; } for (int i = 0; i < N; i++) { sum += score[i] / max * 100; } average = sum / N; printf("%f\n", average); return 0; } [설명] 시험 본 과목의 개수 N, 입력받을 점수를 저장할 배열 score을 정수로 선언해준다. 평균 average, 최대값 max, 합 sum.. 2022. 1. 8.
[BOJ] 1주차 - #1157 #1157 [문제] [코드] #include int main() { char word[1000000]; int cnt[27] = {0, }; int max = 0; int index = 0; scanf("%s", word); for (int i = 0; word[i] != '\0'; i++) { if (word[i] >= 'a' && word[i] 2022. 1. 2.