백준 C언어

    [C] 백준 10829번 : 이진수 변환

    https://www.acmicpc.net/problem/10829 10829번: 이진수 변환 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000) www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include long long recursion(long long N) { long long temp; if (N == 0) return 0; else { temp = N % 2; N /= 2; recursion(N); printf("%lld", temp); } } int main() { long long N; scanf("%lld", &N); recursion(N); } 우선 문제에서 제시된 자연수 N의 범위가 대략 21억의 값의 범위..

    [C] 백준 2750번 : 수 정렬하기

    https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include int main() { int N = 0, temp = 0; int arr[1000] = { 0, }; scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &arr[i]); } for (int i = 0; i < N; i++) {//시간복잡도가 O(n^2)인 버블정렬 for (i..

    [C] 백준 2563번 : 색종이

    https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 어렵게 생각할 필요가 전혀 없는 문제인데 어렵게 생각해서 푸는데 시간이 꽤 오래 걸렸다. #define _CRT_SECURE_NO_WARNINGS #include int main() { int paper[100][100] = { 0, }; int n, x, y, count = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d %d", &x, &y); ..

    [C] 백준 2090번 : 골드바흐의 추측

    https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 시간이 0.5초나 되는 코드입니다. #define _CRT_SECURE_NO_WARNINGS #include #include #include int isPrimeNumber(int x);//소수 판별 함수 선언 int main() { int N, T, x = 0; scanf("%d", &T); for (int i = 0; i < T; i++) { scanf("%d", &N); ..

    [C]백준 2566번 : 최댓값

    https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include int main() { int table[9][9] = { 0 }, max = 0, row = 1, column = 1; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { scanf("%d", &table[i][j]); if (max < table[i][j]) { max = table[i..

    [C] 백준 1929번 : 소수 구하기

    #define _CRT_SECURE_NO_WARNINGS #include #include int isPrimeNumber(int x);//소수 판별 함수 선언 int main() { int N, M; scanf("%d%d", &M, &N); for (int i = M; i 0) { printf("%d\n", isPrimeNumber(i)); } } } int isPrimeNumber(int x) { int length, i = 2; length = sqrt(x); if (length == sqrt(x)) return 0;//1을 배제하자 while(i

    [C] 백준 2581번 : 소수

    #define _CRT_SECURE_NO_WARNINGS #include #include int isPrimeNumber(int x);//소수 판별 함수 선언 int main() { int N, M, sum = 0, x = 0; int Prime[1230] = { 0 };//10000이하의 소수는 1229개 scanf("%d%d", &M, &N); for (int i = M; i 0) { Prime[x] = isPrimeNumber(i); //최소값 판별을 위해 x++; } } int min = Prime[0]; if (sum == 0) printf("-1");//소수가 없을 시 -1 출력 else printf("%d\n%d", sum, min); } int isPrimeNumber(int x) { in..

    [C] 백준 1978번 : 소수 찾기

    https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include #include #include bool isPrimeNumber(int x);//소수 판별 함수 선언 int main() { int N, count = 0; int t[100] = { 0 }; scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d",&t[i]); count += isPrimeNumber(t[i]); } printf("%d", c..

    [C] 백준 2839번 : 설탕 배달

    https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include int main() { int x, y, i = 0,size = 0; int N; int sum[1000] = {0}; scanf("%d",&N); for (int x = 0; x

    [C] 백준 2775번 : 부녀회장이 될테야

    https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { int t, k, n; scanf("%d", &t); for (int i = 0; i < t; i++) { scanf("%d%d", &k, &n); int** arr = (int**)malloc(sizeof(int*) * (k+1)); for (int j = 0; j