210424_TIL

hyeojung·2021년 4월 24일
0

TIL

목록 보기
40/62
post-thumbnail
post-custom-banner

백준 알고리즘 10809번 : 알파벳 찾기

#include <stdio.h>

int main(void)
{
	int alpha[26];
	char S[100];

	for (int i = 0; i < 26; i++)
		alpha[i] = -1;
	scanf("%s", S);
	for (int i = 0; S[i]; i++)
		if (S[i] >= 'a' && S[i] <= 'z' && (alpha[S[i] - 'a'] == -1))
			alpha[S[i] - 'a'] = i;
	for (int i = 0; i < 25; i++)
		printf("%d ", alpha[i]);
	printf("%d", alpha[25]);
	return 0;
}


백준 알고리즘 2675번 : 문자열 반복

#include <stdio.h>

int main(void)
{
	int times;

	scanf("%d", &times);
	for (int t = 0; t < times; t++)
	{
		char S[20] = { 0, };
		char r;
		int repeat = 0;

		scanf("%c", &r);
		scanf("%[^\n]s", S);
		repeat = S[0] - '0';
		for (int i = 2; S[i]; i++)
			for (int j = 0; j < repeat; j++)
				printf("%c", S[i]);
		printf("\n");
	}
	return 0;
}


백준 알고리즘 1157번 : 단어 공부

#include <stdio.h>

int main(void)
{
	int alpha[26] = { 0, };
	char S[1000000] = { 0, };
	int max[2] = { 0, };
	int overlap = 0;

	scanf("%s", S);
	for (int i = 0; S[i]; i++)
	{
		if (S[i] >= 'a' && S[i] <= 'z')
			alpha[S[i] - 'a']++;
		else if (S[i] >= 'A' && S[i] <= 'Z')
			alpha[S[i] - 'A']++;
	}
	for (int i = 0; i < 26; i++)
	{
		if (max[0] < alpha[i])
		{
			max[0] = alpha[i];
			max[1] = i;
			overlap = 0;
		}
		else if (max[0] == alpha[i])
			overlap++;
	}
	if (!overlap)
		printf("%c", max[1] + 'A');
	else
		printf("?");
	return 0;
}


백준 알고리즘 1152번 : 단어의 개수

#include <stdio.h>

int main(void)
{
	char S[1000001] = { 0, };
	int cnt = 0;
	int i = 0;

	scanf("%[^\n]s", S);
	while (S[i])
	{
		if (S[i] && S[i] == ' ')
			i++;
		else if (S[i] && S[i] != ' ')
		{
			cnt++;
			while (S[i] && S[i] != ' ')
				i++;
		}
	}
	printf("%d", cnt);
	return 0;
}


백준 알고리즘 2908번 : 상수

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

int main(void)
{
	char a[4] = { 0, };
	char b[4] = { 0, };
	int rev_a = 0;
	int rev_b = 0;

	scanf("%s %s", &a, &b);
	for (int i = strlen(a) - 1; i >= 0; i--)
	{
		rev_a *= 10;
		rev_a += a[i] - '0';
	}
	for (int i = strlen(b) - 1; i >= 0; i--)
	{
		rev_b *= 10;
		rev_b += b[i] - '0';
	}
	printf("%d", rev_a > rev_b ? rev_a : rev_b);
}


백준 알고리즘 5622번 : 다이얼

#include <stdio.h>

int main(void)
{
	char str[16] = { 0, };
	int sec = 0;

	scanf("%s", str);
	for (int i = 0; str[i]; i++)
	{
		if (str[i] <= 'C') sec += 3;
		else if (str[i] <= 'F') sec += 4;
		else if (str[i] <= 'I') sec += 5;
		else if (str[i] <= 'L') sec += 6;
		else if (str[i] <= 'O') sec += 7;
		else if (str[i] <= 'S') sec += 8;
		else if (str[i] <= 'V') sec += 9;
		else if (str[i] <= 'Z') sec += 10;
	}
	printf("%d", sec);
    	return 0;
}


백준 알고리즘 2941번 : 크로아티아 알파벳

#include <stdio.h>

int main(void)
{
	char str[100];
	char* temp;
	int cnt = 0;

	scanf("%s", str);
	temp = str;
	while (*temp)
	{
		if (*temp == 'c' && (*(temp + 1) == '=' || *(temp + 1) == '-'))
			temp += 2;
		else if (*temp == 'd' && *(temp + 1))
		{
			if (*(temp + 1) == '-')
				temp += 2;
			else if (*(temp + 1) == 'z' && *(temp + 2) == '=')
				temp += 3;
			else
				temp++;
		}
		else if ((*temp == 'l' || *temp == 'n') && *(temp + 1) == 'j')
			temp += 2;
		else if ((*temp == 's' || *temp == 'z') && *(temp + 1) == '=')
			temp += 2;
		else
			temp++;
		cnt++;
	}
	printf("%d", cnt);
}


백준 알고리즘 1316번 : 그룹 단어 체커

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

int main(void)
{
	int times;
	int cnt = 0;

	scanf("%d", &times);
	for (int i = 0; i < times; i++)
	{
		char str[100] = { 0, };
		scanf("%s", str);
		int j = 0;
		while (str[++j])
		{
			char* tmp = str;
			while (&str[j] > tmp)
			{
				if (str[j] == *tmp)
				{
					while (&str[j] > tmp && str[j] == *tmp)
						tmp++;
					if (&str[j] != tmp)
						break;
				}
				else
					tmp++;
			}
			if (&str[j] != tmp)
				break;
		}
		if (!str[j])
			cnt++;
	}
	printf("%d", cnt);
}
profile
응애 나 애기 개발자
post-custom-banner

0개의 댓글