https://www.acmicpc.net/problem/10809
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
alp 이라는 각 알파벳에 대응하는 배열을 만들어두고, 이걸 looking table처럼 사용한다.
#include <iostream>
#include <string>
using namespace std;
int alp[26] = {-1, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, -1};
int main(void){
string s;
cin >> s;
for(int i = 0; i<s.length(); i++){
if(alp[s[i]-'a'] == -1){
alp[s[i]-'a'] = i;
}
}
for(int i = 0; i<26; i++){
cout << alp[i] << " ";
}
return 0;
}
'컴퓨터기본 > 문제풀이' 카테고리의 다른 글
[백준] 2447번: 별 찍기 - 10 (0) | 2021.09.10 |
---|---|
[백준] 1427번: 소트인사이드 (0) | 2021.09.06 |
[백준] 11654: 아스키 코드 (0) | 2021.09.06 |
[백준] 2108: 통계학 (0) | 2021.09.06 |
[정올] 1495 : 대각선 지그재그 (0) | 2021.09.03 |