알파벳 a~z 까지 모두 26개이므로 26 크기의 int형 배열을 만든다.
문자열을 한 문자씩 나누어 String 배열에 저장한다.
문자가 a이면 int형 배열의 a[0]에 문자가 저장된 인덱스 저장, 문자가 b이면 int형 배열의 a[1]에 문자가 저장된 인덱스 저장
- Arrays.fill(배열명, 초기화 값) 으로 배열을 한 번에 초기화 한다.
- String형을 아스키코드로 변환하고 싶다면 (int)문자열.toCharArray()[변환하고자 하는 문자의 인덱스]를 사용한다.
- int형 정수를 BufferedWriter로 출력하고 싶다면 String형으로 변환이 필요하다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
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));
int alphabet[] = new int[26];
String input = br.readLine();
String str[] = input.split("");
Arrays.fill(alphabet, -1);
for(int i=0; i<str.length; i++) {
if(alphabet[(int)str[i].toCharArray()[0]-97] == -1)
alphabet[(int)str[i].toCharArray()[0]-97] = i;
}
for(int i=0; i<alphabet.length; i++) {
bw.write(String.valueOf(alphabet[i]));
bw.write(" ");
}
bw.close();
}
}
[출처]
https://www.acmicpc.net/problem/10809
'CODING > BAEKJOON' 카테고리의 다른 글
[BAEKJOON] 2908번 상수 (0) | 2022.01.28 |
---|---|
[BAEKJOON] 1157번 단어 공부 (0) | 2022.01.28 |
[BAEKJOON] 11720번 숫자의 합 (0) | 2022.01.27 |
[BAEKJOON] 2523 별 찍기 - 13 (0) | 2022.01.26 |
[BAEKJOON] 1065번 한수 (0) | 2022.01.26 |
댓글