본문 바로가기

C언어/백준

(15)
c언어) 백준 10809번 < 알파벳 찾기 > 입력 : baekjoon 출력 : 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 이런 식의 문제이다. #include #include int main(void) { int i, j,count; char S[100] = { 0, }; scanf_s("%s", S, sizeof(S)); for (i = 'a';i
c언어) 백준 1152번 단어의 개수 #include #include int main(void) { char arr[1000001]; int i, cnt = 0; gets(arr); int a = strlen(arr); if (a == 1) { if (arr[0] == ' ') { printf("0"); return 0; } } for (int i = 1;i < a - 1;i++) { if (arr[i] == ' ') { cnt++; } } printf("%d", cnt + 1); return 0; } 정답. 너무 안 돼서 블로그 참조해서 풀었다. #include #include int main(void) { char arr[1000001]; int cnt = 0; scanf("%[^\n]", arr); //gets(arr); int a =..
c언어) 백준 2675번 문자열 반복 #include #include int main(void) { char S[21]; int a,b,c; scanf("%d", &c); for (int i = 0;i 0;k--) { printf("%c", S[j]); } } printf("\n"); } } - S 배열에 문자를 입력받는다. - 배열의 길이를 B에 저장해준다. - 배열의 0~배열의 길이만큼 돌아가게 해준다. - 반복하는 만큼 돌려주게 해준다.
c언어) 백준 2566번 < 최댓값 > #include int main(void) { int num[9][9],index[2]; int max = 0; for (int i = 0;i < 9;i++) { for (int j = 0;j < 9;j++) { scanf_s("%d", &num[i][j]); if (max < num[i][j]) { max = num[i][j]; index[0] = i+1; index[1] = j+1; } } } printf("%d\n", max); printf("%d %d", index[0], index[1]); } 성공... 배열로 굳이 안 해도 될거 같아서 변경 int main(void) { int num[9][9]; int x,y,max = 0; for (int i = 0;i < 9;i++) { for (int ..
c언어) 백준 2577번 < 숫자의 개수 > 문제 : 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 : 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 : 첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 번째 줄까지 A × B × C의 결과에 1부터 9까지의 ..
c언어) 백준 2562번 < 최댓값 > 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 1. 9개의 자연수를 받음 2. 숫자들을 비교 3. 번째 출력 #include int main(void) { int num[9]; int index,max = 0; for (int i = 0;i < 9;i..
c언어) 백준 2576번 문제 < 홀수 > 홀수 문제를 풀어보았다. 그렇구나... 구상 7개 자연수 입력받기 홀수만 더하기 홀수 중 최솟값 찾기 귀찮아 ^^;;; #include int plus(int arr[]) { int sum = 0; for (int i=0; i < 7; i++) { if (arr[i] % 2 != 0) { sum += arr[i]; } } return sum; } int min_num(int arr[]) { int min = 100; for (int i = 0; i < 7; i++) { if (arr[i] %2 != 0) { if (arr[i]
c언어) 백준 10872번 문제 < 팩토리얼 > 팩토리얼 문제를 풀어보았다. 문제는 위와 같다. 팩토리얼이란 n!으로 n부터1까지의 곱을 말한다. 5! = 5 x 4 x 3 x 2 x 1 이런 식 ㅇㅇ #include int factorial(i){ int res = 1; for(i; i>0; i--) { res = i * res; } return res; } int main() { int n; scanf_s("%d", &n); printf("%d", factorial(n)); return 0; } for문으로 곱한 뒤 숫자가 -1되게 해준다. 그리고 이유는 모르겠는데 void main으로 하면 백준에서 런타임에러가 뜬다. 아 싸 !