문제
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.
출력
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.
만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.
예제 입력 1
baekjoon
예제 출력 1
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
코드
import java.util.*;
import java.io.*;
class Main {
public static void main(String[] args) {
String ap ="abcdefghijklmnopqrstuvwxyz";
Scanner sc = new Scanner(System.in);
String S = sc.next();
int b=0;
for(int j=0; j<ap.length(); j++){
int a=0;
b=0;
for(int i=0; i<S.length(); i++ ){
b=b+1;
if(S.charAt(i)==(ap.charAt(j))&& a==0){
System.out.print(i+" ");
a=a+1;
}
else if (a==0 && b==S.length()){
System.out.print(-1+" ");
}
}
}
}
}
코드지식
기본 자료형(Primitive Data Types) 이라는 것은 프로그래밍 언어에서 가장 기본적인 형태의 데이터를 나타내는 자료형입니다. Java에는 다음과 같은 기본 자료형들이 있습니다.
- byte
- short
- int
- long
- float
- double
- boolean
- char
객체가 아닌 기본적인 데이터 타입들은 객체에서 제공하는 기능인 메서드를 가질 수 없습니다. 따라서 값을 비교할 때는 equals() 대신 == 연산자를 사용해야 합니다.
'백준(Java)' 카테고리의 다른 글
백준 11718번 '그대로 출력하기' (자바) (0) | 2025.04.27 |
---|---|
백준 2908번 '상수' (자바) (0) | 2025.04.27 |
백준 1152번 '단어의 개수' (자바) (0) | 2025.04.27 |
백준 2675번 '문자열 반복' (자바) (0) | 2025.04.27 |
백준 11720번 '숫자의 합' (자바) (0) | 2025.04.26 |