C로 구현한 10809번 알파벳 찾기 문제 풀이입니다.
#include <stdio.h>
int main() {
char input[100] = {0};
scanf("%s", input);
for(int i=97; i<=122; i++) {
int num = 0;
while(input[num] != 0) {
if(input[num] == (char)i)
break;
num++;
}
if(input[num] == (char)i)
printf("%d ", num);
else
printf("-1 ");
}
}
소문자 알파벳 'a'~'z' 의 10진수는 97~122 입니다.
그렇기 때문에 각 알파벳을 비교하기 위해 for문 조건식을 97부터 122까지로 설정합니다.
해당 알파벳이 처음 등장하는 위치를 출력하기 위해 while문 조건식에 변수 input의 해당 자리가 0이 아닐 경우
수행되도록 합니다. while문 내부에서는 if문을 설정해 입력된 알파벳과 i를 문자형으로 형변환한 값을 비교해서
같을 경우 빠져나와 알파벳 위치를 출력해줍니다.
https://www.acmicpc.net/problem/10809
'백준(C언어) 풀이 > 문자열' 카테고리의 다른 글
백준(C) 1152번 단어의 개수 풀이 (0) | 2021.07.14 |
---|---|
백준(C) 1157번 단어 공부 풀이 (0) | 2021.07.14 |
백준(C) 2675번 문자열 반복 풀이 (0) | 2021.07.14 |
백준(C) 11720번 숫자의 합 풀이 (0) | 2021.07.13 |
백준(C) 11654 아스키 코드 풀이 (0) | 2021.07.13 |