https://www.acmicpc.net/problem/10809
import java.util.Arrays;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String s = sc.next();
int[] arr=new int[26];
Arrays.fill(arr, -1);
for(int i=0; i<s.length(); i++){
int num=s.charAt(i)-97;
if(arr[num]!=-1) continue;
arr[num] = i;
}
for(int x : arr){
System.out.print(x+ " ");
}
}
}
알파벳 배열을 모두 -1로 초기화한다.
주어진 문자열에서 알파벳 아스키코드-97 을 하면 인덱스 번호가 나온다.
처음 등장하는 위치의 인덱스를 구해야하므로 -1가 아닐경우 continue문으로 빠져나온다.
그렇게 문자열에있는 알파벳이 어느 인덱스에 있는지 알파벳 배열에 넣어준다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 백준 11899번- 괄호 끼워넣기 (0) | 2022.07.20 |
---|---|
[JAVA] 백준 1935번- 후위 표기식2 (0) | 2022.07.19 |
[JAVA] 백준 18258번- 큐2 (0) | 2022.07.18 |
[JAVA] 백준 20920번- 영단어 암기는 괴로워 (0) | 2022.07.17 |
[JAVA] 백준 1874번- 스택 수열 (0) | 2022.07.16 |