[Java] 백준 10809번 : 알파벳 찾기
https://www.acmicpc.net/problem/10809
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
아직 너무 어려운 문자열 문제
나는 문제를 너무 어렵게 생각하는거 같다
처음 접근법
- 문자열을 입력 받는다.
- 입력 받는 문자열을 한글자씩 쪼개서 위치 파악 0번~S.lenth
- 문자 위치를 저장하는 배열에 각 문자 위치를 저장
- 반복문으로 저장한 위치 배열 출력
0부터니까 배열에 저장? 배열 번호 출력?
해당 문자가 없으면 -1 출력
아스키 코드를 쓸까?
String은 문자열이고 char은 문자 하나니까
String을 입력받아서 char로 변환
for(int i=0; i<arr.length; i++){
for(int j=0; j<i; j++)
if[arr[i] = arr[j];
문자열 순서대로 있는 배열을 생성
arr[0] / arr[1] /
a 위치/ b 위치
count++
for 반복문으로 arr출력
문자열을 나누는 방법
split(“ “) X
SubString X
toCharArray 사용하는 듯!
toCharArray란..
문자열을 각각의 문자로 분할하려면, toCharArray() 메소드를 사용할 수 있습니다. 이 메소드는 문자열을 문자 배열로 변환
오답 코드 입니다.
1. 배열 1 : 입력받은 문자열을 저장
2. 배열2 : 알파벳 a~z까지 있는 것
반복문으로 두 배열을 비교해서 index값을 출력하는 방식으로 풀려고 했는데 뭔가 잘 안됐다
package test;
import java.io.*;
public class Main {
public static void main(String[] args)throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String S = br.readLine();
char[] arr = S.toCharArray();
char[] alpha ; // 알파벳 a~z 까지 있 것
int location = 0;
for (int i = 0; i <arr.length; i++) {
if (arr[i] ;
location = i;
}
// 저장한 알파벳 배열을 출력
for(int i=0; i<arr.length; i++) {
bw.write(String.valueOf(count));
}
bw.flush();
bw.close();
}
}
배열 값 출력 -> indexOf
아스키코드