알고리즘 문제풀이
[백준/BOJ] 백준 10809번 : 알파벳 찾기
GeniusJo
2020. 9. 15. 20:18
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
vector<int> result(26, -1); 로 하여 모든 알파벳이 포함되어있지 않다고 초기화한 뒤, if (result[s[i] - 'a'] == -1) 일 때 처음 등장한 알파벳이라고 판단해 그 위치를 저장한다.
코드
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
string s;
vector<int> result(26, -1); //모든 알파벳이 포함되어있지 않다고 초기화
cin >> s;
for (int i = 0; i < s.size(); i++)
{
if (result[s[i] - 'a'] == -1) //처음 등장한 알파벳일때
result[s[i] - 'a'] = i;
}
for (int i = 0; i < result.size(); i++)
cout << result[i] << " ";
return 0;
}