-
[10809번] 알파벳 찾기 - Java알고리즘 연습 2021. 11. 13. 11:37
https://www.acmicpc.net/problem/10809
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
1. 배운점
- 아스키 코드를 활용하면 문자열을 더 쉽게 다룰 수 있다.
- 배열은 필요한 만큼만 선언해서 사용한다.
2. 개선할 점
3. 궁금한 점
4. 풀이
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { // a ~ z를 상징하는 배열 생성(모든 값 -1로 초기화) int [] alphabet = new int [26]; for(int i = 0; i < alphabet.length; i++) { alphabet[i] = -1; } // import java.io.BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 단어 입력받기 String word = br.readLine(); // 중첩 반복문으로 출력한 단어 길이를 분석하기 for (int i = 0; i < word.length(); i++) { for(int j = 0; j < alphabet.length; j++) { // 이미 값이 입력된 경우, 반복문 끝으로 이동 if (alphabet[j] != -1) { continue; } // 입력된 적이 없는 경우 첫 번째 위치 추가 if (word.charAt(i)== j + 97) { alphabet[j] = i; } } } // 반복문을 활용해 값 출력 for(int i : alphabet) { System.out.print(i + " "); } } }
'알고리즘 연습' 카테고리의 다른 글
[4948번] 베르트랑 공준 - Java (0) 2021.11.17 [9020번] 골드바흐의 추측 - Java (0) 2021.11.17 [2941번] 크로아티아 알파벳 - Java (0) 2021.11.13 [2581번] 소수 - Java (0) 2021.11.12 [2869번] 달팽이는 올라가고 싶다 - Java (0) 2021.11.11