본문 바로가기

algorithm/백준알고리즘

[백준알고리즘] 10809번: 알파벳 찾기 -C++

728x90

[백준알고리즘] 10809번: 알파벳 찾기 -C++

10809번: 알파벳 찾기 (acmicpc.net)

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

그냥 알파벳 나오는 위치에 맞춰서 위치 저장해주면 된다.

 

배열 초기화 하는 함수가 있을 것 같아서 찾아보니 fill_n()이 있었다. 앞으로 요긴하게 쓸 것 같다.

 

#include <iostream>
#include <string>

int main(void)
{
    std::string s;
    std::cin >> s;

    const int ALPHA = 26;
    int alphabet[ALPHA];
    std::fill_n(alphabet, ALPHA, -1);

    for (int i = 0; i < s.length(); i++)
        if (alphabet[s[i] - 'a'] == -1) 
            alphabet[s[i] - 'a'] = i;

    for (int i = 0; i < ALPHA; i++)
        std::cout << alphabet[i] << " ";

    return 0;
}

 

잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다

728x90