본문 바로가기
문제 풀이/백준(BOJ)

그 동안의 1일 1코딩 실천

by 희조당 2021. 3. 15.
728x90

20.11.12

#include <stdio.h>

int main() {
	int A, B, C;
	int arr[10] = {};

	scanf("%d%d%d",&A, &B, &C);
	
	int temp = A * B * C;

	while (temp != 0) {
		arr[temp % 10]++;
		temp /= 10;
	}

	for (int i = 0; i < 10; i++) {
		printf("\n%d", arr[i]);
	}

	return 0;
}

20.11.16

#define _CRT_SECRUE_NO_WARNING_
#include <stdio.h>

int main() {
	int Case, N; // Case = 총 경우, N = 학생 수
	double average;
	scanf("%d", &Case);

	for (int i = 0; i < Case;i++) {
		int arr[1000];
		scanf("%d", &N);
		int sum = 0, count = 0; // sum = 평균을 위한 값, count = 평균을 넘는 학생 수
		for (int j = 0; j < N;j++) {
			scanf("%d", &arr[j]);
			sum += arr[j];
		}
		average = (double)sum / N;
		for (int k = 0; k < N;k++) {
			if (arr[k] > average) count++;
		}
		printf("%.3lf\n", (double)count / N * 100);
	}
	return 0;
}

20.11.17

#include <stdio.h>
#define max_size 10001

bool arr[max_size];

int func(int num) {
	int sum = num;
	while (1) {
		if (num == 0) break;
		sum += num % 10;
		num /= 10;
	}

	return sum;
}

int main(void) {
	
	for (int i = 1; i < max_size ; i++) {
		int idx = func(i);

		if (idx <= max_size) {
			arr[idx] = true;
		}
	}

	for (int i = 1; i < max_size ;i++) {
		if (!arr[i]) printf("%d\n", i);
	}

	return 0;
}

20.11.18

#include <stdio.h>

void is_hansu(int n) {
	if (n < 100) printf("%d", n);
	else {
		int hunds, tens, ones, count = 99;
		for (int i = 100; i <= n;i++) {
			hunds = i / 100;
			tens = (i % 100) / 10;
			ones = (i % 10);
			if ((hunds - tens) == (tens - ones)) count++;
		}
		printf("%d", count);
	}
}

int main(void) {
	int N;
	scanf("%d", &N);
	is_hansu(N);
	return 0;
}

20.11.19

#include <stdio.h>

int main() {
	int N, sum=0;
	scanf("%d", &N);
	char arr[100];
	scanf("%s", &arr);
	for (int i = 0; i < N;i++) {
		sum += arr[i] - '0';
	}
	printf("%d", sum);
	return 0;
}

20.11.20

#include <stdio.h>
#include <string.h>

int main() {
	char ch[101];
	scanf("%s", ch);

	int arr[26] = {};
	for (int i = 0; i < 26; i++) {
		arr[i] = -1;
	}
	
	for (int i = 0; i < strlen(ch);i++) {
		if (arr[ch[i] - 97] == -1) {
			arr[ch[i] - 97] = i;
		}
	}

	for (int i = 0; i < 26;i++) {
		printf("%d ", arr[i]);
	}

	return 0;
}

20.11.21

#define _CRT_SERCURE_NO_WARINGS_
#include <stdio.h>
#include <string.h>

int main() {
	int T;
	scanf("%d", &T);
	for (int i = 0; i < T;i++) {
		int R;
		char S[21] = "";
		char T[161] = "";
		scanf("%d %s", &R, &S);
		for (int j = 0; j < strlen(S);j++) {
			for (int k = 0; k < R;k++) {
				T[R * j + k] = S[j];
			}
		}
		printf("%s\n", T);
	}

	return 0;
}

20.11.22

#define _CRT_SECURE_NO_WARINGS_
#include <stdio.h>
#include <ctype.h>

int main() {
	int alpha[26] = {};
	char ch[1000001] = "";
	scanf("%s", &ch);

	for (int i = 0; ch[i]!='\0';i++) {
		if (islower(ch[i])) alpha[ch[i] - 'a']++;
		else alpha[ch[i] - 'A']++;
	}

	int max = 0, max_idx = 0;
	for (int i = 0; i<26;i++) {
		if (alpha[i] > max) {
			max = alpha[i];
			max_idx = i;
		}
	}

	int flag = 0;
	for (int i = 0; i < 26; i++) {
		if (max == alpha[i]) flag++;
	}

	printf("%c", (flag > 1) ? '?' : max_idx + 'A');

	return 0;
}

21.02.11

#include <stdio.h>
#include <string.h>

int main() {
	char arr[100];
	scanf("%s", arr);
	int sum;
	sum = strlen(arr);

	for (int i = 0; i < strlen(arr); i++) {
		if ((arr[i] == 'n' || arr[i] == 'l') && arr[i + 1] == 'j')
			sum--;
		if (arr[i] == 'd' && arr[i + 1] == 'z' && arr[i + 2] == '=')
			sum--;
		if (arr[i] == '-' || arr[i] == '=')
			sum--;
	}

	printf("\n%d", sum);


	return 0;
}

21.03.02

#include <stdio.h>
#include <string.h>

int main() {
	int num, i, j, k, size, cnt=0;
	char word[101] = {0,};
	scanf("%d", &num);

	for(i = 0; i < num;i++) {
		scanf("%s", &word);
		size = strlen(word);
		bool flag = true;
		for (j = 0;j < size;j++) {
			for (k = 0;k < j;k++) {
				if (word[j] != word[j - 1] && word[j] == word[k]) {
					flag = false;
					break;
				}
			}
		}
		if (flag) cnt++;
	}
	printf("%d", cnt);

	return 0;
}

21.03.03

#include <stdio.h>

int main() {
	long a, b, c, p;
	int i;
	scanf("%ld %ld %ld", &a, &b, &c);
	if (b >= c) {
		printf("-1"); 
		return 0;
	}
	for (i = 0;;i++) {
		if (a / (c-b) < i) break;
	}
	printf("%d", i);
	return 0;
}

21.03.05

#include <stdio.h>

int main() {
	int i, j, k, num, tmp, cnt = 1;
	scanf("%d", &num);
	tmp = num;

	if (num == 1) printf("1/1");
	else {
		while (tmp > cnt) {
			tmp -= cnt;
			cnt++;
		}
		if (cnt % 2 == 0) {
			j = 1; k = cnt;
			for (i = 1;i < tmp;i++) {
				j++; k--;
			}
		}
		else {
			j = cnt; k = 1;
			for (i = 1;i < tmp;i++) {
				j--; k++;
			}
		}
		printf("%d/%d", j, k);
	}

	return 0;
}

21.03.06

#include <stdio.h>

int main() {
	int A, B, V;
	int day, sum=0;
	scanf("%d %d %d", &A, &B, &V);
	int tmp = A - B;
	if (A == V) {
		printf("1");
		return 0;
	}
	day = (V - B-1) / (A - B)+1;

	printf("%d",day);

	return 0;
}

21.03.10

#define _CRT_NO_SECURE_WARNINGS_
#include <stdio.h>

int main() {
	int t, h, w, n;
	scanf("%d", &t);
	for (int i = 0; i < t;i++) {
		scanf("%d %d %d", &h, &w, &n);
		if (n%h==0) printf("%d%02d\n", h, n/h);
		else printf("%d%02d\n",n% h, n / h + 1);
	}

	return 0;
}

21.03.11

#include <stdio.h>

int Person(int floor,int num) {
	if (floor == 0) return num;
	if (num == 1) return 1;
	
	return Person(floor - 1, num) + Person(floor, num - 1);
}

int main() {
	int i,t,k,n; // 1<=k는 층, n<=14은 동
	scanf("%d", &t);
	for (i = 0;i < t;i++) {
		scanf("%d", &k);
		scanf("%d", &n);
		printf("%d\n",Person(k, n));
	}

	return 0;
}

21.03.12

#include <stdio.h>
#define min(x,y) x>y ? y : x

int main() {
	int N, cnt = 0;
	scanf("%d", &N);
	
	while (1) {
		if (N % 5 == 0) {
			printf("%d", cnt + (N / 5));
			break;
		}
		N -= 3;
		cnt++;
		if (N < 0) {
			printf("-1");
			break;
		}
	}
	
	return 0;
}

21.03.13

#include <stdio.h>

bool isPrime(int n) {
	if (n <= 1) return false;
	for (int i = 2; i * i <= n;i++) {
		if (n % i == 0) return false;
	}
	return true;
}

int main() {
	int n, cnt = 0;
	scanf("%d", &n);
	for (int i = 0;i < n;i++) {
		int tmp=0;
		scanf("%d", &tmp);
		if (isPrime(tmp)) cnt++;
	}
	
	printf("%d", cnt);

	return 0;
}

 

댓글