
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // 알파벳 입력받음
int[] arr = new int[26]; // arr 배열의 크기를 26으로 지정하기, 알파벳은 총 26개이다.
for(int i = 0; i < arr.length; i++) { // arr 배열의 모든 값을 -1로 초기화한다.
arr[i] = -1;
}
String S = sc.nextLine(); // 문자열 S를 입력받는다.
for(int i = 0; i < S.length(); i++) { // S의 길이만큼 for문을 돌린다.
char ch = S.charAt(i); // charAt을 이용하여 문자 ch를 받는다.
if(arr[ch-'a'] == -1) { // 만약 ch-'a'의 값이 -1이라면(12번째 줄에서 -1로 초기화 했기 때문이다.)
arr[ch-'a'] = i; // arr[ch-'a']의 값을 i로 초기화한다.
} // ch가 a라면 20번째 줄의 조건이 성립, arr[0] = 0이 된다. 즉 a는 0과 같아진다.
}
for(int val : arr) { // 향상된 for문을 이용해서 출력한다.
System.out.print(val + " ");
}
}
}
향상된 for문
for(자료형 변수명:배열명){
문장
}
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준_JAVA] 1152 단어의 개수 (0) | 2023.07.17 |
---|---|
[백준_JAVA] 2675 문자열 반복 (0) | 2023.07.14 |
[백준_JAVA] 11720 숫자의 합 (0) | 2023.07.14 |
[백준_JAVA] 11654 아스키 코드 (0) | 2023.07.01 |
[백준_JAVA] 9086 문자열 (0) | 2023.07.01 |