์๋ฌธ์ ์์คํค ๊ฐ์ 97๋ถํฐ ์์ํ๋ฏ๋ก, find ํจ์๋ฅผ ํตํด ์ํ๋ฒณ์ด S์ ์ฒ์ ๋ฑ์ฅํ๋ฉด ๊ทธ ์์น๋ฅผ (๋ฌธ์ ์์คํค ๊ฐ - 97) ์ธ๋ฑ์ค์ ๊ฐ์ผ๋ก ์ ์ฅํ๋ค.
S์ ๋ํ๋์ง ์๋ ๋ฌธ์์ ๊ฒฝ์ฐ์๋ ๊ฐ ์ํ๋ฒณ(97+i)์ด S์ ์๋ค๋ฉด string::npos์ ๋์ผํ๋ฏ๋ก -1์ ์ถ๋ ฅํ๋๋ก ํ๋ค.
๊ทธ ์ด์ธ ๊ฒฝ์ฐ์๋ A[i] ๊ฐ์ ์ถ๋ ฅํ๋ค.
#include <bits/stdc++.h>
using namespace std;
int main(){
string S;
cin >> S;
int A[26]={0,};
for(char c: S) A[(int)c - 97] = S.find(c);
for(int i=0; i<26; i++){
if( S.find(97 + i) == string::npos) printf("-1 ");
else printf("%d ", A[i]);
}
}
[๋ฐฑ์ค(BOJ)] 2743๋ฒ: ๋จ์ด ๊ธธ์ด ์ฌ๊ธฐ (C++) (0) | 2021.08.30 |
---|---|
[๋ฐฑ์ค(BOJ)] 10820๋ฒ: ๋ฌธ์์ด ๋ถ์ (C++) (0) | 2021.08.30 |
[๋ฐฑ์ค(BOJ)] 10808๋ฒ: ์ํ๋ฒณ ๊ฐ์ (C++) (0) | 2021.08.07 |
[๋ฐฑ์ค(BOJ)] 9012๋ฒ: ๊ดํธ (์คํ(stack), C++) (0) | 2021.08.07 |
[๋ฐฑ์ค(BOJ)] 10866๋ฒ: ๋ฑ (๋ฑ(deque), C++) (0) | 2021.08.07 |