ALGORITHM

[JAVA] 백준 10809번- 알파벳 찾기

연듀 2022. 7. 18. 13:35

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문으로 빠져나온다. 

그렇게 문자열에있는 알파벳이 어느 인덱스에 있는지 알파벳 배열에 넣어준다.