728x90
https://www.acmicpc.net/problem/10809
문제)알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
풀이)
import java.util.Scanner;
import java.util.zip.ZipEntry;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String S = sc.next();
int alp[] = new int[26];
for (int i=0; i<26; i++){
alp[i] = -1;
}
for (int i=0; i<S.length(); i++){
int s = (int)(S.charAt(i))-97;
// 중복된 값이 처음 나온 경우에만 저장
if (alp[s] == -1) {
alp[s] += i + 1;
}
}
for (int i=0; i<26; i++){
System.out.print(alp[i]+" ");
}
}
}
728x90
'프로그래밍 > Java(자바)' 카테고리의 다른 글
[백준] 1152: 단어의 개수 -Java (0) | 2024.01.06 |
---|---|
[백준] 2675: 문자열 반복 -Java (1) | 2024.01.06 |
[백준] 11720: 숫자의 합 -Java (1) | 2024.01.05 |
[백준] 11654: 아스키 코드 -Java (0) | 2024.01.05 |
[백준] 9086: 문자열 -Java (0) | 2024.01.05 |