자바알고리즘 - 문자열 - 백준 10809 알파벳 찾기

 

문제

알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.

 

생각

1. 알파벳은 26개이기 때문에 26 사이즈의 배열을 -1로 만든다.

2. 문자열을 charAt으로 나누어 해당 char에서 아스키코드값을 이용해 - 'a' 를 하여 배열값이 -1이면 해당 자리수로 저장해준다.

 

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bf =new BufferedReader(new InputStreamReader(System.in));
        int[] arr = new int[26];

        for(int i = 0; i < arr.length; i++) {
            arr[i] = -1;
        }
        String s= bf.readLine();
        for(int i=0 ; i<s.length(); i++) {
            char ch = s.charAt(i);
            if(arr[ch-'a']==-1) {
                arr[ch-'a']=i;
            }
        }
        for(int i=0 ; i<arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }

}

+ Recent posts