알파벳 찾기

11 June 2019

문제 : https://www.acmicpc.net/problem/10809

이번은 알파벳의 위치를 저장하는 문제를 풀어보도록 하겠습니다.

import java.util.Scanner;

public class Main {

    private static Integer[] alphabetArray = new Integer[26];

    public static void main(String args[]) {

        for (int i = 0; i < alphabetArray.length; i++) {
            alphabetArray[i] = -1;
        }

        Scanner scanner = new Scanner(System.in);

        String value = scanner.next();

        for (int i = 0; i < value.length(); i++) {
            int charVal = (value.charAt(i) - 'a');
            if (alphabetArray[charVal] == -1) {
                alphabetArray[charVal] = i;
            }
        }

        for (int i = 0; i < alphabetArray.length; i++) {
            System.out.print(alphabetArray[i] + " ");
        }
    }
}
먼저 각 알파벳의 위치를 저장할 array를 만들고, 초기값을 -1로 설정합니다.
입력값을 String으로 저장한 후, 각각의 char값에 'a'를 빼줍니다. 이렇게 하면 각 char에 대해서 a는 0, b는 1의 값으로 설정이 됩니다.
char에 대해 나온 값으로 array에 몇번째에 해당 값이 나왔는지 저장해주고, 그 값을 출력해주도록 합니다.