알고리즘/백준
공부 89일차: 백준 10808번 알파벳 개수 자바 Java
김발자~
2022. 10. 27. 21:18
반응형
10808 알파벳 개수
https://www.acmicpc.net/problem/10808
10808번: 알파벳 개수
단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.
www.acmicpc.net
백준 10808번 문제 알파벳 개수
문제
과정 생각해보기
엄청 쉬운 문제가 나왔다
카운팅 정렬 때 했던 것처럼 인덱스 자리에 각 알파벳의 자리를 넣고 나올 때마다 +1을 해주면 된다
매우 간단하기 때문에 주석에 적은 글자들만으로도 이해하기 충분할 것
정답 인정 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int arr[] = new int[26]; //소문자 개수 26개
for(int i = 0; i < s.length(); i++) {
arr[s.charAt(i)-'a']++;
}
for(int i : arr) {
System.out.print(i + " ");
}
}
}
|
cs |
주석으로 충분한 설명이 되었다고 본다
System.out.print와 BufferedWriter 두 개 다 써봤는데 (매우매우) 간단한 코드라 그런지 후자라고 딱히 빠르지도 않았다
위에서부터 순서대로 BufferedWriter / print / print(문자열 길이를 n으로 따로 두고 for문에 조건으로 둠)인데
가장 느릴 거라고 생각했던 방법이 가장 빨랐다
작은 차이인 것 같긴 하지만!
사기 꺾이지 말라고, 포기하지 말라고 끼어넣은 건가 싶을 정도의 문제였지만 이것도 카운팅 정렬을 안 배웠으면 헤맸을지도 모르겠다
도움 안 되는 공부는 없다~
반응형