import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
int arr[] = new int[26];
Arrays.fill(arr, -1);
for(char c : s.toCharArray()) {
arr[c - 'a'] = s.indexOf(c);
}
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
알파벳들의 위치를 나타낼 arr 변수를 생성하고 Arrays.fill 메소드를 통해 -1로 채워준다. 그런 다음 입력 받은 단어를 for문을 돌려서 단어상에서 문자의 위치를 arr 배열에 저장하고 이를 출력하도록 구현하였다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
String s = sc.nextLine();
int sl = 0;
int cl = 0;
int dc = 0;
int bc = 0;
for(char c : s.toCharArray()) {
if(Character.isLowerCase(c)) {
sl++;
} else if(Character.isUpperCase(c)) {
cl++;
} else if(Character.isDigit(c)) {
dc++;
} else if(c == ' ') {
bc++;
}
}
System.out.println(sl + " " + cl + " " + dc + " " + bc);
}
}
}
문자가 소문자인 경우는 isLowerCase 메소드를 사용해서 판별하고 문자가 대문자인 경우는 isUpperCase 메소드를 가지고 판별하고 숫자인 경우는 isDigit 메소드, 공백인 경우는 ' ' 공백으로 구분할 수 있도록 하고 해당하는 경우에는 변수들의 값을 1 증가시키고 이 값들을 출력시키게 하면 된다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(sc.next().length());
}
}
입력 받은 문자열을 length() 메소드를 이용하여 길이를 출력 시켜주면 된다.