BOJ(백준)

[C언어] 백준 - 10809 알파벳 찾기

ruming 2021. 2. 6. 07:44

 

문제

 

단어 S - 길이는 100을 넘지 않고 알파벳 소문자임.

각 알파벳이 등장하는 위치를 출력하고 알파벳이 나오지 않으면 -1을 출력한다.

 

#include <stdio.h>
#include <string.h>
int main(void){
	char word[100] = {0};
	char *s = word;
	int an[26];
	int i, j;
	for(i=0; i<26; i++)	an[i] = -1;
	scanf("%s", word);
	for(i='a'; i<='z'; i++){
		for(j=0; j<strlen(s); j++){
			if(s[j]==i){
				an[s[j]-'a'] = j;
				break;
			}
		}
	}
	for(i=0; i<26; i++)	printf("%d ", an[i]);
	return 0;
}

크기 100의 문자열, 포인터 변수를 선언한다. 답을 저장할 int형 배열을 선언하고 -1을 저장한다. 문자열을 포인터 변수에 입력받는다. 반복문을 이용해 문자열의 문자가 각 알파벳과 일치한지 확인하고 일치할경우 그 순서를 an배열에 저장한다. 마지막에 an배열을 출력해준다.