Contents

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

   Aug 13, 2021     1 min read     - Comments

바로가기

문제

문제


해석

  • 문자열 s가 주어졌을 때, 각각의 알파벳이 몇 번 자리에 나왔는지를 출력하는 문제
  • baekjoon이 주어졌을 때, a는 1번, b는 0번, c는 X… z까지 확인하면 된다. 처음 자리는 0번이다.

풀이

  1. 알파벳 개수인 26 크기의 int형 배열을 생성하고, -1 값으로 초기화해준다.(Arrays.fill(배열, 값))

  2. 문자열 s의 크기(s.length())만큼 반복하며 int형 배열에 입력한다.

    • 값은 아스키 코드를 활용한다. 문자 - ‘a’를 해주면 자리를 알 수 있다.

코드

import java.util.*;
import java.io.*;

public class Main{
    public static void main(String args[]) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        String s = br.readLine();
        int[] al = new int[26];
        Arrays.fill(al, -1);
        
        for(int i = 0; i < s.length(); i++){
            int num = s.charAt(i) - 'a';
            if(al[num] == -1)
                al[num] = i;
        }
        
        for(int num : al)
            bw.write(num + " ");
         
        bw.flush();
        bw.close();        
    }
}