[백준 10809]알파벳 찾기 - JAVA 풀이
바로가기
문제
해석
- 문자열 s가 주어졌을 때, 각각의 알파벳이 몇 번 자리에 나왔는지를 출력하는 문제
- baekjoon이 주어졌을 때, a는 1번, b는 0번, c는 X… z까지 확인하면 된다. 처음 자리는 0번이다.
풀이
알파벳 개수인 26 크기의 int형 배열을 생성하고, -1 값으로 초기화해준다.(
Arrays.fill(배열, 값)
)문자열 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();
}
}