아직 Java가 많이 서툴고, 변수나 리스트 배열 등 기초적인 스킬이 부족해 난이도 가리지 않고 풀고 있습니다.
언제든 피드백 환영입니다.
더 나은 스킬이 있다면 배우겠습니다.
소스 코드
Python
- input으로 문자열을 입력받습니다.
- 알파벳 a ~ z까지 총 26개이므로 lst배열에 [0]을 총 26개로 초기화 했습니다.
- ord(문자)는 문자를 숫자로 바꿔주는 함수이므로 알파벳 a의 아스키코드인 97을 빼주어 lst 배열의 index와 맞춰주었습니다.
s = input()
lst = [0]*26
for i in s:
lst[ord(i)-97]+=1
for i in lst:
print(i,end= ' ')
Java8
- python에서는 3번째 코드라인 String에 Char로 하나씩 접근이 가능하지만, java에서는 String.charAt(index)로 접근했습니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
int[] arr = new int[26];
for(int i = 0 ; i<s.length();i++)
arr[(int)s.charAt(i)-97]++;
for(int x:arr)
System.out.print(x+" ");
sc.close();
}
}