소스코드

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

int main (){
	char a[100];
	int index[26];
	int i, b;
	
	for (i=0; i<26; i++){
		index[i] = -1;
	}	
	
	scanf("%s", &a);
	for(i=0; i<strlen(a); i++) {
		b = a[i] - 97;
		if (index[b] == -1) index[b] = i;
	}
	for (i=0; i<26; i++){
		printf("%d ", index[i]);
	}	
}

해설

일단... ASCII CODE 기준으로, 알파벳 소문자를 숫자로 (0~25) 변환하려면 97을 빼면 된다. 소문자와 대문자를 변환하려면 32를 더하고 빼면 된다. 소문자가 더 크다. 

참고로 int자료형을 char자료형으로 상호 변환할때는 48을 빼고 더하면 됨. 

새싹문제치고 어려웠는데... 일단 문자열로 주어진 문자 받고, 26칸 배열을 만든 뒤 모두 -1로 설정. 문자에 해당하는 26칸 배열은 위치 (i) 로 값을 바꾸어서 풀었다. 

복사했습니다!