바야바네 움집
[10809] 문자열 : 알파벳 찾기 본문
📌풀이
해시맵을 사용해 빠르게 값을 찾을 수 있도록 했다. 알파벳이 등장한 맨 처음 위치를 저장해야 하는데 문자열을 앞에서부터 탐색하면 가장 마지막에 나온 위치를 저장해서 거꾸로 탐색했다.
📌코드
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{
string str;
unordered_map<char, int> alphabet;
getline(cin, str);
for(int i=str.length() - 1; i>-1; i--)
alphabet[str[i]] = i;
for(int i=97; i<123; i++)
{
if(alphabet.find(i) != alphabet.end())
printf("%d ", alphabet[i]);
else
printf("-1 ");
}
return 0;
}
'🧶 알고리즘 > 🎲백준BOJ' 카테고리의 다른 글
[1463][C++] 1로 만들기 (0) | 2022.04.15 |
---|---|
[1157] 문자열 : 단어 공부 (0) | 2021.11.23 |
[11654] 문자열 : 아스키 코드 (0) | 2021.11.23 |
[6588번] 골드바흐의 추측 (0) | 2021.08.31 |
[1978번] 소수 찾기 (0) | 2021.08.31 |
Comments