Competition/Baekjoon

[백준] 10809번 자바

bisi 2020. 3. 11. 12:15
문제 출처 

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

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.

www.acmicpc.net

 

 

 

접근 방식 및 풀이

10808번를 응용한 문제이다.

[Algorithm/백준] - [백준] 10808번 자바 LIST

 

 

- -1로 모든 초기화 하고,

- 처음 나오면 index 를 입력하고, 두번째부터는 아무것도 하지 않고 지나간다.

 

 

 

 

소스 코드 
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();

        List<Integer> list = new ArrayList<Integer>();
        for (int i = 0; i < 26; i++) {
            list.add(i, -1);
        }

        for (int i = 0; i <str.length() ; i++) {
            int index = str.charAt(i)-97;
            int value = list.get(index);
            if(value==-1){
                list.set(index, i);
            }

        }
        for (int i = 0; i <26 ; i++) {
            System.out.print(list.get(i) + " ");
        }
    }

}

 

 

 

 

결과