728x90
● [문제번호 10809] 알파벳 찾기
https://www.acmicpc.net/problem/10809
● 알아야 할 것
: vector 자료구조와 메소드
● 풀이 과정
: 문자열을 입력 받고
초깃값을 -1로 갖는 크기 26인 정수 vector 생성
처음 등장하는 경우 (vector[index] == -1 인 경우) 에만 값을 변경한다.
● 주의 할 것
: NULL
● 참고 할 것
: NULL
● 풀이 코드
#include <bits/stdc++.h>
using namespace std;
// 각 알파벳의 처음 등장하는 위치를 저장하기 위한 vector
vector<int> v;
// 문자열을 저장하기 위한 string
string str;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> str;
// a ~ z 는 26개
// 초깃값은 -1 (등장 안하는 경우 값을 바꾸지 않음)
v.assign(26, -1);
// 처음 등장한 경우에만 저장
for(int s = 0; s < str.length(); s++)
if(v[str[s] - 'a'] == -1)
v[str[s] - 'a'] = s;
// 출력
for(int i = 0; i < v.size(); i++)
cout << v[i] << " ";
return 0;
}
● [백준] - [알고리즘 기초 1/2] - [203 - 자료구조 1 (참고)] 문제집
번호 | 문제 번호 | 문제 이름 | 풀이 링크 |
1 | 1935 | 후위 표기식2 | https://pirateturtle.tistory.com/170 |
2 | 1918 | 후위 표기식 | https://pirateturtle.tistory.com/171 |
3 | 10808 | 알파벳 개수 | https://pirateturtle.tistory.com/172 |
4 | 10809 | 알파벳 찾기 | https://pirateturtle.tistory.com/173 |
5 | 10820 | 문자열 분석 | https://pirateturtle.tistory.com/174 |
6 | 2743 | 단어 길이 재기 | https://pirateturtle.tistory.com/175 |
7 | 11655 | ROT13 | https://pirateturtle.tistory.com/176 |
8 | 10824 | 네 수 | https://pirateturtle.tistory.com/177 |
9 | 11656 | 접미사 배열 | https://pirateturtle.tistory.com/178 |
728x90
'Baekjoon > [Code.plus] 알고리즘 기초 1/2' 카테고리의 다른 글
[BOJ/백준] 11655 ROT13 (0) | 2021.07.27 |
---|---|
[BOJ/백준] 2743 단어 길이 재기 (0) | 2021.07.27 |
[BOJ/백준] 10820 문자열 분석 (0) | 2021.07.27 |
[BOJ/백준] 10808 알파벳 개수 (0) | 2021.07.27 |
[BOJ/백준] 1918 후위 표기식 (0) | 2021.07.27 |
[BOJ/백준] 1935 후위 표기식2 (0) | 2021.07.27 |
[BOJ/백준] 17299 오등큰수 (0) | 2021.07.26 |
댓글