자바 백준 10808번
브론즈 4
https://www.acmicpc.net/problem/10808
문제 보기
분류: 구현, 문자열
문제 풀기
char 타입의 ASCII 코드 연산을 통해 풀이한다.
char 타입으로 저장된 알파벳은 정수와 사칙연산을 통해 int 타입을 반환한다. 이를 이용하여 각 알파벳의 종류를 판별할 수 있다. 판별된 알파벳은 26 개의 배열에 그 개수만큼 누적합한다.
각각의 알파벳이 누적합 된 array 의 value 를 답안에 맞게 출력한다.
코드 보기
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int[] alphabet = new int[26]; // 각 알파벳 개수를 저장할 배열.
char[] wordArr = sc.next().toCharArray(); // 단어를 입력받고 각 알파벳을 char 타입으로 변환하여 배열에 저장.
for (int i = 0; i < wordArr.length; i++) { // 배열에 저장된 단어를 하나씩 빼내어 ASCII 코드 연산을 함.
System.out.println(wordArr[i]); // TEST PRINT
System.out.println(wordArr[i] - 97); // TEST PRINT
alphabet[wordArr[i] - 97] += 1; // 소문자 a 에 해당하는 ASCII 코드 97 에서 해당 알파벳을 뺀 배열 index 의 값을 하나씩 증가.
}
for (int i = 0; i < alphabet.length; i++) {
System.out.print(alphabet[i] + " "); // 답안 형식에 맞게 출력.
}
}
}
/*
baekjoon
b
1
a
0
e
4
k
10
j
9
o
14
o
14
n
13
1 1 0 0 1 0 0 0 0 1 1 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0
abcxyz
a
0
b
1
c
2
x
23
y
24
z
25
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
*/
'공부하기 > 백준' 카테고리의 다른 글
[Python] 백준 풀기 7567 - 그릇 (0) | 2023.02.05 |
---|---|
[Python] 백준 풀기 1051 - 숫자 정사각형 (0) | 2023.02.04 |
[Java] 백준 풀기 2752 - 세 수 정렬 (0) | 2023.02.02 |
[Java] 백준 풀기 10807 - 개수 세기 (0) | 2023.02.01 |
[Java] 백준 풀기 10757 - 큰 수 A+B (0) | 2023.01.31 |