백준 알고리즘 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", ×);
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", ×);
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);
}