문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- BufferedReader를 사용하여 입력값을 저장합니다.
- 소문자 알파벳 개수인 26 크기의 배열을 만들어서 -1로 초기화를 진행하였습니다.
- 소문자 알파벳 아스키 코드가 97부터 시작하므로 각 글자를 받아서 97를 빼주어서 무슨 글자인지 확인하였습니다.
- -1이 아니면 앞에 위치에 있다고 판단하여 -1인 경우에만 배열에 저장하였습니다.
- 배열에 들어있는 값을 bw에 저장하여 결과를 한 번에 출력하였습니다.
결과 코드
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//입력 값을 받는 BufferedReader
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//결과를 출력하는 BufferedWriter
String text = br.readLine(); //입력값 저장
int[] arr = new int[26]; //알파벳 위치 배열
for(int i=0;i<26;i++) { //배열 -1로 초기화
arr[i] = -1;
}
for(int i=0;i<text.length();i++){ //알파벳 위치 구하여 저장
int temp = text.charAt(i)-97;
if(arr[temp]==-1){
arr[temp]=i;
}
}
for(int i=0;i<26;i++) { //알파벳 위치 값들 bw에 저장
bw.write(arr[i] + " ");
}
bw.flush(); //결과 출력
bw.close();
br.close();
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)1157번, 단어 공부 (0) | 2021.12.20 |
---|---|
[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)2675번, 문자열 반복 (0) | 2021.12.19 |
[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)11720번, 숫자의 합 (0) | 2021.12.18 |
[백준] 단계별로 풀어보기(단계:7,문자열,JAVA)11654번, 아스키 코드 (0) | 2021.12.18 |
[백준] 단계별로 풀어보기(단계:6,함수,JAVA)1065번, 한수 (0) | 2021.12.17 |
댓글