본문 바로가기

온라인 코딩/문자열(String)

[백준] 10908번 알파벳 찾기

 

 

 

 

 

문제

 

소스코드

#include<iostream>
#include<string>
#include<array>
constexpr int ALPHABET_LENGTH = 26;

int main() {
	std::string s;
	std::cin >> s;
	std::array<int, ALPHABET_LENGTH> alphabet_list;
	alphabet_list.fill(-1);

	for (auto i = s.cbegin(); i != s.cend(); ++i) {
		int index = *i - 'a';
		if (alphabet_list[index] == -1)
			alphabet_list[index] = i - s.begin();
	}
	for (auto i : alphabet_list)
		std::cout << i << " ";

 

 

후기

알파벳 길이만큼 배열을 준비하고 반복자의 특성을 이용하여 현재 위치-시작 위치를 해서 위치를 구했다. 

4일 만에 푸는 문제인 만큼 비교적 쉬운 걸 풀었다. 

 

 

 

출처 및 레퍼런스

문제 링크:https://www.acmicpc.net/problem/10809

 

 

 

 

 

 

'온라인 코딩 > 문자열(String)' 카테고리의 다른 글

[백준] 2908번 상수  (0) 2020.02.27
[백준] 11720번 숫자의 합  (0) 2020.02.25
[백준] 1152번 단어의 개수  (0) 2020.02.19
[백준] 11654번 아스키 코드  (0) 2020.02.16
[백준] 2675번 문자열 반복  (0) 2020.02.15