728x90

백준(BaekJoon) 44

[BaekJoon/C] No.2312 : 수 복원하기

https://www.acmicpc.net/problem/2312  소스코드 & 문제풀이 #define _CRT_SECURE_NO_WARNINGS#include //숫자 n의 소인수 분해를 출력하는 시그마함수를 만들어줍니다void sigma(int n){ //짝수 소인수 if (n % 2 == 0) { int c = 0; //2로 나눌 수 있는 횟수를 세는 변수를 선언합니다 while (n % 2 == 0) { c++; //나눌 때마다 카운트를 증가합니다 n /= 2; //n을 2로 나누며 } printf("2 %d\n", c); //소인수 2와 그 지수를 출력합니다 } /..

백준(BaekJoon) 2024.11.23

[BaekJoon/C] No.1081 : 합

https://www.acmicpc.net/problem/1081 소스코드 & 문제풀이 1부터 n까지의 모든 자릿수를 순회하며 각 숫자가 각 자릿수에서 등장한 횟수를 계산합니다.반복문에서는 자릿수를 단계적으로 증가시키면서(1 → 10 → 100 등) 계산 sum(b)에서 sum(a-1)을 빼서 a부터 b까지의 자릿수 합을 계산합니다. #define _CRT_SECURE_NO_WARNINGS#include // 특정 숫자 범위(1부터 n까지)의 모든 자릿수의 합을 계산하는 함수long long sum(long long n){ // n이 0 이하일 경우 합은 0 if (n 0) { t = n / (s * 10); // 현재 자릿수를 기준으로 몫 계산 r = n % ..

백준(BaekJoon) 2024.11.16

[BaekJoon/C] No.1073 : 도미노

https://www.acmicpc.net/problem/1073  소스코드 & 문제풀이 #define _CRT_SECURE_NO_WARNINGS#include //숫자 조합을 저장할 수 있는 2차원 배열을 선언합니다int map[11][11];// 각 숫자(0~9)가 등장한 횟수를 기록할 배열 선언합니다int numbers[10];int main(void) { int number; //숫자 쌍의 개수를 저장할 변수를 선언합니다 // 특정 숫자의 등장 횟수에 따른 곱셈 값을 저장한 배열 만들어줍니다 int d[10] = { 1, 0, 1, 0, 3, 0, 15, 0, 105, 0 }; scanf("%d", &number); //숫자 쌍의 개수를 입력받습니다 for..

백준(BaekJoon) 2024.11.16

[BaekJoon/C] No.1018 : 체스판 다시 칠하기

https://www.acmicpc.net/problem/1018 소스코드 & 문제풀이 #include int main(void){ // 2차원 배열을 통해 체스판을 구현합니다. // 배열의 크기는 조건을 만족시키기 위해 최대 50줄과 51개의 열로 설정합니다. char arr[50][51]; // 체스판의 행 개수 (a)와 열 개수 (b)를 입력받고, count를 큰 값으로 초기화합니다. int a, b, count = 3000; // 체스판의 행과 열을 입력받습니다. scanf("%d%d", &a, &b); // 체스판 데이터를 배열 arr에 행 단위로 저장합니다. for (int i = 0; i  예제 입출력 결과

백준(BaekJoon) 2024.11.07

[BaekJoon/C] No.11660 : 구간 합 구하기 5

https://www.acmicpc.net/problem/11660 소스코드 & 문제풀이 #define _CRT_SECURE_NO_WARNINGS#include int arr[1025][1025]; //2차원 배열 사용합니다int main(void){ int N, M; //N*N개의 수를 받을 변수 N과 M번 반복할 변수를 선언합니다 int x1, x2, y1, y2; scanf("%d %d", &N, &M); //변수 N과 M을 입력받습니다 //2차원 배열을 통해 N행 N열의 들어갈 수를 입력받습니다 for (int i = 1; i  예제 입출력 결과

백준(BaekJoon) 2024.11.04

[BaekJoon/C] No.1026 : 보물

https://www.acmicpc.net/problem/1026 문제해석 문제에서 B의 수가 순서대로 주어졌다고 하였으므로 오름차순으로 해줍니다. 이때 S(=A[0]B[0] + ... +  A[N-1]B[N-1])의 최솟값을 구하려면 B는 오름차순으로 고정되어 있으므로 A가 내림차순이었을 때 최소값이 됩니다  소스코드 & 문제풀이 #define _CRT_SECURE_NO_WARNINGS#include int main() { int n, i, j, temp, AB = 0; int arrA[50]; int arrB[50]; scanf("%d", &n); for (i = 0; i arrB[j + 1]) { temp = arrB[j]; //B의 앞원소(큰수)를 temp에 임시저장한뒤 arrB[j]..

백준(BaekJoon) 2024.10.08

[BaekJoon/C] No.1021 : 회전하는 큐

https://www.acmicpc.net/problem/1021    문제분석문제로만 봤을 때 그저 돌림판 같은 곳에 숫자들을 쭉 순서대로 나열하고 고정된 위치에 숫자들을 돌려주면 될 것 같았는데 막상 코드로 짜보니 너무 어려워 다른 사람의 코드를 사용하여 한줄한줄 해석하는 방식으로 문제와 코드를 이해하는 방향으로 과제를 진행했습니다 소스코드 & 문제풀이 #define _CRT_SECURE_NO_WARNINGS#pragma warning(disable: 4996) // 컴파일러 경고 메시지를 무시하기 위한 코드입니다#include #include // 동적 메모리 할당을 위한 함수들이 있는 라이브러리입니다.(malloc, calloc)#include // 문자열 처리를 돕는 함수들이 있는 라이브러..

백준(BaekJoon) 2024.10.08

[BaekJoon/C] No.1016 : 제곱 ㄴㄴ 수

https://www.acmicpc.net/problem/1016   문제해석 어떤 정수 X가 제곱수로 나누어 떨어지지 않았을 때, 이를 제곱 ㄴㄴ수라 한다. => 예를 들면 30은 2^2, 3^2, 4^2, 5^2로 나누었을 때 모두 나누어 떨어지지 않으므로 제곱 ㄴㄴ수라고 합니다. 반대로 12는 2의 제곱인 4로 나누었을 때 나누어 떨어지므로 제곱 ㄴㄴ수가 아닙니다.  소스코드 & 문제풀이 #include #include //sqrt를 사용하기 위한 라이브러리int arr[1000001];int main() { long long min, max; // 큰 수를 사용할 것이므로 long long 타입을 사용합니다 scanf("%lld %lld", &min, &max); int sq ..

백준(BaekJoon) 2024.09.27
728x90