반응형
문제
https://www.acmicpc.net/problem/10809
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
코드
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String S = sc.nextLine();
int[] alphabet = new int[26];
Arrays.fill(alphabet, -1); //배열 내 모든 원소를 -1로 초기화
for(int i = 0; i < S.length(); i++) {
int s = S.charAt(i); //해당 문자열의 인덱스0부터 문자 한 글자씩 s에 저장
if(alphabet[s - 'a'] == -1) { //인덱스가 -1인 경우에만 새로운 인덱스 저장. 각 알파벳이 처음 등장할 때에만 인덱스 저장
alphabet[s - 'a'] = i;
//s - 'a'는 해당 알파벳의 인덱스
//ex. a = 0, b = 1, c = 2,...
//만약 s가 b인 경우 alphabet[1]에 0을 저장
}
}
for(int i = 0; i < alphabet.length; i++) {
System.out.print(alphabet[i] + " ");
}
sc.close();
}
}
반응형
'Problem Solving > 백준' 카테고리의 다른 글
[백준|자바] 1152: 단어의 개수 (0) | 2021.08.28 |
---|---|
[백준|자바] 1157: 단어 공부 (0) | 2021.08.27 |
[백준|자바] 2675: 문자열 반복 (0) | 2021.08.26 |
[백준 알고리즘] 11720: 숫자의 합 풀이(자바) (0) | 2021.08.25 |
[백준 알고리즘] 11654: 아스키 코드 풀이(자바) (0) | 2021.08.25 |
[백준 알고리즘] 1065: 한수 풀이(자바) (0) | 2021.08.25 |