본문 바로가기

컴퓨터/백준 알고리즘

(177)
백준 알고리즘 2839번: 설탕 배달 C언어 문제 출처: www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 1. 코드 #include int main(void) { int N = 0, A = 0, B = 0, i = 0; scanf("%d", &N); if(N % 5 == 0) { printf("%d", N / 5); return 0; } if(N % 3 == 0) A = N / 3; for(i = N / 5; i > 0; i--) { if((N - 5 * i) % 3 == 0) { B = (N - 5 * i) /..
백준 알고리즘 1712번: 손익분기점 C언어 (개선) 문제 출처: www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 1. 코드 #include int main(void) { long A = 0, B = 0, C = 0, X = 1; scanf("%ld %ld %ld", &A, &B, &C); if(B >= C) { printf("-1"); return 0; } X = A/(C - B) + 1; printf("%d", X); return 0; } 2. 문제 해결 방식 먼저 앞에서 저는 무한 반복문을 사용하여 최초로 이익..
백준 알고리즘 1712번: 손익분기점 C언어 (실패) 문제 출처: www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 1. 코드 #include int main(void) { long long A = 0, B = 0, C = 0, D = 1; scanf("%lld %lld %lld", &A, &B, &C); if(B >= C) { printf("-1"); return 0; } while(1) { if(A + B * D < C * D) { printf("%lld", D); break; } D++; } return 0; }..
백준 알고리즘 1316번: 그룹 단어 체커 C언어 문제 출처: www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 1. 코드 #include #include int select(char a[], int len); int main(void) { int n, i, sum = 0; char arr[100]; scanf("%d", &n); for(i = 0; i < n; i++) { scanf("%s", arr); sum += select(arr, strlen(arr)); } print..
백준 알고리즘 2941번: 크로아티아 알파벳 C언어 문제 출처: www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 1. 코드 #include #include int main(void) { char arr[100]; int i, j, sum; scanf("%s", arr); sum = strlen(arr); for(j = 0; j < strlen(arr); j++) { if((arr[j] == 'l' || arr[j] == 'n') && arr[j+1] == 'j') sum-..
백준 알고리즘 5622번: 다이얼 C언어 문제 출처: www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어는 2글자~15글자로 이루어져 있다. www.acmicpc.net 1. 코드 #include #include int NUM(int n); int main(void) { char arr[15]; int i, j, sum = 0; scanf("%s", arr); for(i = 'A'; i
백준 알고리즘 2908번: 상수 C언어 문제 출처: www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 1. 코드 #include int main(void) { int i, num1, num2, n1, n2; scanf("%d %d", &num1, &num2); n1 = (num1 / 100) + (num1 / 10 % 10 * 10) + (num1 % 10 * 100); n2 = (num2 / 100) + (num2 / 10 % 10 * 10) + (num2 % 10 * 100); if(n1 > n2) prin..
백준 알고리즘 1152번: 단어의 개수 C언어 문체 출처: www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 1. 코드 #include #include int main(void) { int i, len, cnt = 0; char arr[1000000]; scanf("%[^\n]", arr); len = strlen(arr); /* 공백 문자 하나만 입력 시 0으로 출력 후 종료 */ if(len == 1) { if(arr[0] == ' ') { printf("0\n"); return 0; } } /* ..