문제 출처 :
https://www.acmicpc.net/problem/10808
각 알파벳을 나타내는 26개의 int 배열 작성 후
for문 돌려 알파벳의 문자의 아스키 코드 (소문자 a는 97부터 시작) 이용해
해당 알파벳이 나올 때 마다 해당하는 인덱스에 1씩 더하기
import java.util.*;
class Main {
public String solution(String str) {
int[] count = new int[26];
for (int i=0; i<str.length(); i++) {
count[str.charAt(i) - 97]++;
}
String answer = Arrays.toString(count).replaceAll("[^0-9 ]","");
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.print(T.solution(str));
}
}
import java.util.*;
class Main {
public int[] solution(String str) {
int[] count = new int[26];
for (int i=0; i<str.length(); i++) {
count[str.charAt(i) - 97]++;
}
return count;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
for (int x : T.solution(str)) {
System.out.print(x + " ");
}
}
}
'Java 코딩테스트 공부 > Java 백준 문제풀이' 카테고리의 다른 글
자바 백준 1644번 문제 - 소수의 연속합 (0) | 2022.08.11 |
---|---|
자바 백준 1806번 문제 - 부분합 (0) | 2022.08.02 |
Java 백준 1747번 문제 - 소수&팰린드롬 (0) | 2022.08.01 |
백준 1032번 명령 프롬프트 / 자바 문자열 파트 (0) | 2022.07.13 |
백준 String(문자열) 문제풀이 (0) | 2022.06.01 |