https://www.acmicpc.net/problem/10809
기본적으로 문장 입력받고 문장을 순회하면서
알파벳 배열(a부터 z까지의 좌표가 적힌, -1이 기본값)에 위치를 저장해주면 된다.
조건문이나 스위치문을 26개 달아서 해야하나는 생각이 잠깐 들긴했는데
아스키 코드를 쓰면 되겠더라.
a의 아스키코드는 97이니
97을 빼주면
a는 0 z는 25로 만들 수 있다는 아이디어로 해결.
#include<iostream>
using namespace std;
int main(void)
{
int alphabet_Array[26];
for (int i = 0; i<26; i++)
{
alphabet_Array[i] = -1;
}
string input_Sentence;
cin>>input_Sentence;
int len_Sentence = input_Sentence.length();
for(int i = 0; i < len_Sentence; i++)
{
int spell = input_Sentence[i]; //문자를 아스키 코드로 변환
spell = spell - 97; //a가 0부터 시작하게 바꿈
if(alphabet_Array[spell] == (-1))
{
alphabet_Array[spell] = i;
}
}
for(int i = 0; i < 26; i++)
{
cout<<alphabet_Array[i]<<" ";
}
}