์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[๋ฐฑ์ค€(BOJ)] 10809๋ฒˆ: ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ (C++)

PROGRAMMING/Algorithm

by koharin 2021. 8. 7. 17:56

๋ณธ๋ฌธ

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“„ ๋ฌธ์ œํ’€์ด ๊ณผ์ •


์†Œ๋ฌธ์ž ์•„์Šคํ‚ค ๊ฐ’์€ 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]);
    }
}

 

 

 

๐Ÿ–จ ์ œ์ถœ๊ฒฐ๊ณผ


728x90
๋ฐ˜์‘ํ˜•

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ