더 좋은 문제 풀이가 있거나 궁금하신 점이 있다면 편하게 댓글 남겨주세요!
단어 S를 입력 받고 알파벳 크키 만큼의 배열을 선언합니다.
String S = sc.next();
int arr[] = new int [26];
다음으로는 배열의 초기값을 모두 -1로 지정하였습니다.
for(int i =0; i<arr.length; i++){
arr[i] = -1;
}
입력 받은 문자열에서 문자를 추출하고 -'a'를 통해 해당 위치의 값에 문자의 처음 등장 위치를 저장하였습니다.
단, 처음 등장하는 위치의 값을 입력해야 함으로 arr 값이 변경 되지 않았을 때만 값을 변경합니다.
for(int j =0; j< S.length(); j++) {
if( arr[S.charAt(j) -'a'] == -1) arr[S.charAt(j) - 'a'] = j;
}
import java.util.Scanner;
public class test {
public static void main(String arg[]) {
Scanner sc = new Scanner(System.in);
String S = sc.next();
int arr[] = new int [26];
for(int i =0; i<arr.length; i++){
arr[i] = -1;
}
for(int j =0; j< S.length(); j++) {
if( arr[S.charAt(j) -'a'] == -1) arr[S.charAt(j) - 'a'] = j;
}
for(int k = 0; k < arr.length; k++){
System.out.printf(arr[k] + " ");
}
}
}