https://www.acmicpc.net/problem/10809
정답
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int[] arr= new int[26];
for(int i = 0;i<arr.length;i++){
arr[i]=-1;//모두 -1로 초기화
}
for(int i = 0; i<s.length();i++){
char ch = s.charAt(i);
if(arr[ch-'a']==-1){ //만약 arr 값이 -1인 경우에만 초기화
arr[ch-'a'] =i;
}
}
for(int val:arr){
System.out.print(val+" ");
}
}
}
풀이
알파벳 크기 만큼 배열 만들어서 값을 모두 -1로 넣기
if문
- 아스키코드 'a' = 97
- 만약 b라는 문자가 ch에 담겨있을 경우 'b'-'a' = 1 이 되고 arr[1]은 문자 b를 가르키는 것을 의미한다.
'JAVA > 백준' 카테고리의 다른 글
[Java] 1152번 : 단어의 개수 (0) | 2024.09.20 |
---|---|
[Java] 2675번 : 문자열 반복 (0) | 2024.09.20 |
[Java] 11720번 : 숫자의 합 (0) | 2024.09.20 |
[Java] 11654번 : 아스키 코드 (0) | 2024.09.20 |
[Java] 9086번 : 문자열 (0) | 2024.09.20 |