본문 바로가기
Problem Solving/백준

[백준|자바] 11809: 알파벳 찾기

by 청량리 물냉면 2021. 8. 26.
반응형
문제

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.nextLine();
		int[] alphabet = new int[26];
		Arrays.fill(alphabet, -1);	//배열 내 모든 원소를 -1로 초기화
		
		for(int i = 0; i < S.length(); i++) {
			int s = S.charAt(i);	//해당 문자열의 인덱스0부터 문자 한 글자씩 s에 저장 
			
			if(alphabet[s - 'a'] == -1) {	//인덱스가 -1인 경우에만 새로운 인덱스 저장. 각 알파벳이 처음 등장할 때에만 인덱스 저장
				alphabet[s - 'a'] = i;	
				//s - 'a'는 해당 알파벳의 인덱스 
				//ex. a = 0, b = 1, c = 2,...
				//만약 s가 b인 경우 alphabet[1]에 0을 저장
			}
		}
		
		for(int i = 0; i < alphabet.length; i++) {
			System.out.print(alphabet[i] + " ");
		}
		
		sc.close();
	}
}
반응형