반응형
https://www.acmicpc.net/problem/10808
- 문제
- 문제 풀이
백준 10808번 알파벳 개수는 브론즈 4 난이도의 구현 및 문자열 문제이다. 이 문제에서는 알파벳 소문자로만 이루어진 단어가 1개 주어진다. 이때 이 단어에 포함되어 있는 알파벳의 개수를 각각 출력하면 된다.
이 문제는 아스키코드의 값을 이용해서 풀 수 있다. 우선 a의 아스키코드 값은 97이다. 이 말은 단어에 있는 char들을 볼 때 a는 97, b는 98, c는 99 등이라는 것이다.
따라서, 크기가 26인 int형 배열 arr을 선언해주고 각 char를 볼 때 arr [char - 97]++를 해주면 알파벳의 개수를 셀 수 있다는 것이다.
자세한 코드는 아래에 있다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] arr = new int[26]; //알파벳 개수를 저장하는 배열
String s = br.readLine(); //단어 입력받기
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
arr[c - 97]++; //개수 1씩 늘려주기
}
for (int i = 0; i < 26; i++) {
System.out.print(arr[i] + " ");
}
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 1259번 : 팰린드롬수 – JAVA [자바] (0) | 2022.08.16 |
---|---|
[백준] 2743번 : 단어 길이 재기 – JAVA [자바] (0) | 2022.08.16 |
[백준] 3053번 : 택시 기하학 – JAVA [자바] (0) | 2022.08.16 |
[백준] 10953번 : A+B - 6 – JAVA [자바] (0) | 2022.08.15 |
[백준] 3046번 : R2 – JAVA [자바] (0) | 2022.08.15 |
댓글