https://www.acmicpc.net/problem/10809
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
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 |