Notice
Recent Posts
Link
- Today
- Total
hye-log
[백준]10809번 알파벳 찾기(JAVA) 본문
0. 문제 링크
https://www.acmicpc.net/problem/10809
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
1. 문제 설명
1) 주어진 문자열에서 각각의 알파벳이 포함되면 알파벳이 처음 등장하는 위치를, 포함되지 않았으면 -1 출력하기
2. 입출력
// input
baekjoon
// output
1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
3. 코드
import java.io.*;
import java.util.*;
public class b10809 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int[] alphabet = new int[26]; // alphabet 배열
Arrays.fill(alphabet, -1); // alphabet 배열 -1로 초기화
for (int i = 0; i < str.length(); i++) { // 문자열의 크기만큼 반복
if(alphabet[str.charAt(i) - 'a'] < 0) { // 값이 -1 이면
alphabet[str.charAt(i) - 'a'] = i; // 현재 인덱스 넣기
}
}
for (int i = 0; i < alphabet.length; i++) { // 결과 출력
System.out.print(alphabet[i] + " ");
}
}
}
실행 결과
4. 회고
1) Arrays.fill 로 배열을 -1로 초기화 함
2) 주어진 문자열의 알파벳은 소문자로만 주어지므로 아스키 값 계산 시 'a' 만큼 빼줌
5. Github
https://github.com/iihye/Algorithm/blob/main/Baekjoon/b10809.java
728x90
'CodingTest > Baekjoon' 카테고리의 다른 글
[백준]1546번 평균(JAVA) (0) | 2023.08.13 |
---|---|
[백준]1259번 팰린드롬수(JAVA) (0) | 2023.08.13 |
[백준]10250번 ACM 호텔(JAVA) (0) | 2023.08.13 |
[백준]8958번 OX퀴즈(JAVA) (0) | 2023.08.13 |
[백준]3052번 나머지(JAVA) (0) | 2023.08.13 |
Comments