백준 algorithm

백준 10809 - 알파벳 찾기

cosmohoo 2020. 3. 26. 21:24
반응형

문제 설명

 

 

 

 

 

=> 배열을 사용해서 간단히 풀 수 있는 문제이다.

=> 배열 index를 접근하기 위해 해당 값에 'a'를 빼줘야 하는 것을 알아야한다. 

 

***컴파일에러

본인은 아래의 함수를 이용하여 배열 초기화를 했었는데 해당 함수는 GCC 컴파일러에서만 작동한다. 

    int arr[26]={[0 ... 25]=-1};

 

visual studio에서는 아래 함수를 통해서 배열 전체를 초기화 할 수 있다. 

   int arr[26];
    fill_n(arr, 26, -1);

 

 

 

 

#include <iostream>
#include <string>
#include <algorithm>


using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    
    //int arr[26]={[0 ... 25]=-1};
    int arr[26];
    fill_n(arr, 26, -1);
    string S;
    cin >> S;
    int len = S.length();
    for(int i=0; i<len ; i++)
    {
        int tmp = S[i]-'a';
        if(arr[tmp] == -1)
        {
        arr[tmp]=i;
        }
    }
    for(int i=0; i< 26; i++)
    {
        cout << arr[i]<<" ";
    }
    cout <<'\n';
    return 0;
}

반응형