๋ฌธ์
์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, ๋จ์ด์ ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ, ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ 100์ ๋์ง ์์ผ๋ฉฐ, ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, a๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น, b๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น, ... z๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค.
๋ง์ฝ, ์ด๋ค ์ํ๋ฒณ์ด ๋จ์ด์ ํฌํจ๋์ด ์์ง ์๋ค๋ฉด -1์ ์ถ๋ ฅํ๋ค. ๋จ์ด์ ์ฒซ ๋ฒ์งธ ๊ธ์๋ 0๋ฒ์งธ ์์น์ด๊ณ , ๋ ๋ฒ์งธ ๊ธ์๋ 1๋ฒ์งธ ์์น์ด๋ค.
์๊ฐ ์ ํ | ๋ฉ๋ชจ๋ฆฌ ์ ํ | ์ ์ถ | ์ ๋ต | ๋งํ ์ฌ๋ | ์ ๋ต ๋น์จ |
---|---|---|---|---|---|
1 ์ด | 256 MB | 198949 | 106141 | 87461 | 53.126% |
https://www.acmicpc.net/problem/10809 |
ํ์ด
๋ง์ฝ ๋ฑ์ฅํ์ง ์๋๋ค๋ฉด -1
๋ก ์ด๊ธฐํ ๋์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ -1
์ด ์๋๋ผ๋ฉด, ๋ฑ์ฅํ๋ ์ฒซ๋ฒ์งธ๊ฐ์ ํ ๋นํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ์๋ค.
์ฝ๋
public class ์ํ๋ฒณ์ฐพ๊ธฐ {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] arr = new int['z'-'a'+1];
for(int i=0; i<arr.length; i++){
arr[i] = -1;
}
String S = br.readLine();
for(int i=0; i<S.length(); i++){
if(arr[S.charAt(i) - 'a'] != -1){
continue;
}else {
arr[S.charAt(i) - 'a'] = i;
}
}
for(int i=0; i<arr.length; i++){
System.out.printf("%d ", arr[i]);
}
br.close();
}
}