-
[Baekjoon Online Judge] 10809번: 알파벳 찾기문제 풀이/Baekjoon Online Judge 2021. 1. 4. 21:50
[Baekjoon Online Judge] 10809번: 알파벳 찾기
문자열을 입력 받으면 해당 알파벳이 처음 등장하는 위치를 index로 출력하는 문제이다.
import java.io.*; import java.util.HashMap; import java.util.Map; public class Baekjoon10809 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out)); String[] word = bufferedReader.readLine().split(""); Map<Character, Integer> indexMap = new HashMap<>(); String alphabet = "abcdefghijklmnopqrstuvwxyz"; for (int i = 0; i < word.length; i++) { Character character = word[i].charAt(0); if (!indexMap.containsKey(character)) indexMap.put(character, i); } for (int i = 0; i < alphabet.length(); i++) { Character character = alphabet.charAt(i); if (indexMap.containsKey(character)) bufferedWriter.write(indexMap.get(character) + " "); else bufferedWriter.write("-1 "); } bufferedWriter.flush(); bufferedReader.close(); bufferedWriter.close(); } }
Map을 활용하여 등장하는 알파벳을 key로, 해당 알파벳이 등장하는 index를 value로 설정하였다. 알파벳을 하나하나씩 출력하면서 해당 key가 알파벳에 있으면 index를 출력하고, 없으면 -1을 출력한다.
'문제 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
[Baekjoon Online Judge] 11721번: 열 개씩 끊어 출력하기 (0) 2021.01.04 [Baekjoon Online Judge] 1157번: 단어 공부 (0) 2021.01.04 [Baekjoon Online Judge] 1152번: 단어의 개수 (0) 2021.01.04 [Baekjoon Online Judge] 8958번: OX퀴즈 (0) 2021.01.04 [Baekjoon Online Judge] 2577번: 숫자의 개수 (0) 2021.01.03