10809번: 알파벳 찾기

문제:

알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.

입력:

첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.

풀이:

코드:

#include <iostream>

using namespace std;

int main(){
	string s;
	int alphabet[26];
	//배열 값 -1로 초기화 
	fill_n(alphabet, 26, -1);
	//입력 
	getline(cin, s); 
	//알파벳에 맞는 인덱스 저장
	for(int i = 0; i < s.size(); i++){
		//만약에 이미 값이 존재하면 넘김 
		if(alphabet[s[i]-'a'] == -1) alphabet[s[i]-'a'] = i;
	}
	//출력 
	for(int i = 0; i < 26; i++){
		cout << alphabet[i] << " ";
	}
}