본문 바로가기
CODING/BAEKJOON

[BAEKJOON] 10809번 알파벳 찾기

by snow_white 2022. 1. 27.


알파벳 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

 

10809번: 알파벳 찾기

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

www.acmicpc.net

 

'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

댓글