๋ฌธ์
์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, ๋จ์ด์ ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ, ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ 100์ ๋์ง ์์ผ๋ฉฐ, ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, a๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น, b๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น, ... z๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค.
๋ง์ฝ, ์ด๋ค ์ํ๋ฒณ์ด ๋จ์ด์ ํฌํจ๋์ด ์์ง ์๋ค๋ฉด -1์ ์ถ๋ ฅํ๋ค. ๋จ์ด์ ์ฒซ ๋ฒ์งธ ๊ธ์๋ 0๋ฒ์งธ ์์น์ด๊ณ , ๋ ๋ฒ์งธ ๊ธ์๋ 1๋ฒ์งธ ์์น์ด๋ค.
์์ ์ ๋ ฅ
baekjoon
์์ ์ถ๋ ฅ
1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
ํ์ด
1. ๋จ์ด s๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
2. ์ํ๋ฒณ ๋ฐฐ์ดarray[26]์ ์์ฑ, -1๋ก ์ด๊ธฐํ
3. ์ ๋ ฅ๋ฐ์ ๋จ์ด s๋ฅผ ์ฒซ๊ธ์๋ถํฐ ํ๋์ฉ ๋ถ๋ฌ์์ ํด๋น ๋ฐฐ์ด์ index i ๊ฐ์ ์ ์ฅ
=> charAt() ๋ฉ์๋ ์ฌ์ฉ
=> charํ ๋ฌธ์๋ฅผ int๋ก ๋ณ๊ฒฝํ๋ฉด ์์คํค์ฝ๋ ๊ฐ์ด ๋๋ฏ๋ก 97์ ๋นผ๋ฉด ๋ฐฐ์ด index๊ฐ์ผ๋ก ๋ง์ถ ์ ์๋ค.
(a์ ์์คํค์ฝ๋ ๊ฐ์ด 97)
4. ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ ์ถ๋ ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์ array[num]์ด 0์ด์์ด๋ฉด continue
5. array[]๋ฅผ ์ถ๋ ฅ
import java.util.Scanner;
public class B10809 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
int[] array = new int [26];
for(int i = 0; i < array.length; i++) {
array[i] = -1;
}
for(int i = 0; i < s.length(); i++) {
int num = s.charAt(i)-97;
if(array[num] >= 0) {
continue;
}
array[num] = i;
}
for(int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
}