[BOJ_step_07] 문자열 01 ~ 03
문자열
문자열을 다루는 문제들을 해결해 보자.
아스키코드(11654)
간단히 아스키코드값을 출력하는 문제
문제풀이
void solution_11654() {
char c;
c = getchar();
printf("%d", c);
}
숫자의 합(11720)
문자열로 입력받은 숫자들의 합을 구하는 문제
문제풀이
void solution_11720()
{
int n, sum = 0;
char a;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf(" %c", &a);
sum += a - 48;
}
printf("%d", sum);
}
알파벳 찾기(10809)
그래프 문제 처럼 해석했다.
1 ~ 26까지 알파벳의 개수 만큼의 정점들이 있고 그 정점에 방문할 때 주어진 문자열의 순서(i
) + 1을 Check
배열에 넣어준다.
Check
배열이 0
이 아니라면(방문한적이 없다면) -1
을 출력하고 아니라면 Check[i] - 1
을 출력한다.
문제풀이
void solution_10809()
{
char S[101];
int Check[26];
fill(Check[0], Check[26], 0);
memset(Check, 0, sizeof(Check));
scanf("%s", S);
for (int i = 0; S[i] != '\0'; i++) {
int n = S[i] - 'a';
if (!Check[n]) Check[n] = i + 1;
}
for (int i = 0; i < 26; i++) {
if (!Check[i]) printf("-1 ");
else printf("%d ", Check[i] - 1);
}
}
댓글남기기