[์๊ณ ๋ฆฌ์ฆ PS] ๋ฐฑ์ค 10809๋ฒ ์ํ๋ฒณ ์ฐพ๊ธฐ ์๋ฐ ๋ฌธ์ ํ์ด
๋ฌธ์
ํด๋น ํฌ์คํ ์ ๋ฐฑ์ค์ 10809๋ฒ ์ํ๋ฒณ ์ฐพ๊ธฐ ์ ์ ๊ทผ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ค๋ช ํ ๊ธ ์ ๋๋ค.
์ ๋ต ์์ค ์ฝ๋๋ฅผ ํ์ธํ์๋ ค๋ฉด solve url ์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๋ค ๋ฐฉ์์ผ๋ก ์ ๊ทผํด์ผ ํ๋์ง๋ฅผ ๋จผ์ ์๊ฐํด๋ณด์.
ํด๊ฒฐ๋ฒ
์ด๋ฒ ๋ฌธ์ ๋ ๋ฐ๋ก ์์ ํ์๋ ๋ฌธ์ ์ํ๋ฒณ ๊ฐ์์ ๋์ผํ ๋ฌธ์ ์ธ๋ฐ, ์กฐ๊ฑด๋ง ์กฐ๊ธ ๋ค๋ฅด๋ค.
์ด ๋ฌธ์ ๋ฅผ ๋ด๋ณด์.
์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, ๋จ์ด์ ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ, ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ฌ๊ธฐ์ ์กฐ๊ฑด์ ์ฐพ์ ์ ์๋ค.
์ฐ๋ฆฌ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๊ผญ ๊ฑฐ์ณ์ผํ ์กฐ๊ฑด๋ค์ ๋ฝ์๋ณด์.
- ์ํ๋ฒณ ์๋ฌธ์
- ์ฒ์์ ๋ฑ์ฅํ๋ ์์น
- ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ -1 ์ถ๋ ฅ
์ ๊ทผ๋ฒ
์์ 3๊ฐ์ง ์กฐ๊ฑด์ ์ํด์ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ฉด ๋๋ค.
์ํ๋ฒณ ์๋ฌธ์.
์ฐ์ ๋ชจ๋ ์ ๋ ฅ์ ์ํ๋ฒณ ์๋ฌธ์๋ผ๊ณ ํ๋ค.
๊ทธ๋ผ ์
๋ ฅ์ ์ฒ๋ฆฌํ ๋ ์ํ๋ฒณ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ - 'a'๋ก ํด๊ฒฐํ ์ ์๋ค.
์ฒ์ ๋ฑ์ฅํ๋ ์์น
์ด ๋ฌธ์ ๋ ๊ฐ์๋ฅผ ์ธ์๋ฆฌ๋๊ฒ ์๋๊ณ ์ธ์ ์ฒ์ ๋ฑ์ฅํ๋์ง๋ง ์ฐพ์ผ๋ฉด ๋๋ค.
๊ทธ๋์ ์ง๋ ์ํ๋ฒณ ์ฐพ๊ธฐ ์ฒ๋ผ ๋์ ํฉ์ ํ๋๊ฒ ์๋๊ณ ์ฒ์์ผ๋ก ๋ฑ์ฅํ ์ธ๋ฑ์ค๋ง ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ฐ๋ฆฌ๋ ์ด ๊ฒ์ฌ๋ฅผ ์ํ๋ฒณ ์ธ๋ฑ์ค๊ฐ -1์ด ์๋ ๋๋ง ๊ฐ์ ๋ฃ๊ธฐ๋ก ํ๋ฉด ๋๋ค.
ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ -1 ์ถ๋ ฅ
ํด๋น ์กฐ๊ฑด์ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ง์ง๋ง ์ถ๋ ฅ์ ์กฐ๊ฑด๋ฌธ ์ฒ๋ฆฌ๋ฅผ ํ ์๋ ์์ง๋ง ์์ ์ฒ์๋ถํฐ ๋ชจ๋ ๋ฐฐ์ด ๊ฐ๋ค์ -1๋ก ์ด๊ธฐํ ์ํค๋ฉด ๋ง์ง๋ง ๊ณผ์ ์ ๊ฑฐ์น์ง ์์ ์ ์๋ค.
๋ฌผ๋ก ์๊ฐ์ ์ผ๋ก๋ ์ค๋ณต ๋ฐ๋ณต์ด ์๋ ์ ์๊ฐ ๋ ํจ์จ์ ์ผ ์ ์๋ค.
ํ์ง๋ง ๋ฌธ์ ์ ์กฐ๊ฑด์ ์ ํํ ์งํค๊ณ ํ๋์ฉ ์ง์๊ฐ๋ค๋ ๋ฌธ์ ํ์ด ์ ๋ต์ ๋์ฑ ๋ถํฉํ๋ ํ์๋ฅผ ์ ํํ๋ ค ํ๋ค.
java.util.Arrays.fill(int[] arr, int value);
๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฐ์ ๋ฐฐ์ด์ fillํ ์ ์๋ค.
์ ๋ต ์ฝ๋
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
char[] s = br.readLine().toCharArray();
int[] alphabet = new int[26];
Arrays.fill(alphabet, -1);
for(int i = 0; i < s.length; i++) {
if(alphabet[s[i] - 'a'] == -1) lphabet[s[i] - 'a'] = i;
}
for(int i = 0; i < alphabet.length; i++) {
bw.write(alphabet[i] + " ");
}
bw.flush();
bw.close();
}
}