알고리즘/백준
[백준] 10820번 : 문자열 분석 - JAVA [자바]
DevelopJJong
2023. 1. 15. 03:23
문제
문제 링크 : https://www.acmicpc.net/problem/10820
수도코드 작성
스캔을 받고 String -> char[] 으로 바꿔준 다음 배열을 for문으로 소문자인지 대문자인지 숫자인지 띄어쓰기인지 각각 확인하고 각각 카운팅 해주면 될 것 같다.
작성한 코드
import java.util.Scanner;
public class Main {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()) { // 들어오는 게 String 이면 while문 작동
String m = sc.nextLine(); // 입력
char[] ma = new char[m.length()];
int count0 = 0; // 소문자 카운팅
int count1 = 0; // 대문자 카운팅
int count2 = 0; // 숫자 카운팅
int count3 = 0; // 띄어쓰기 카운팅
for(int i=0; i<m.length(); i++){
ma[i] = m.charAt(i);
}
for(int i=0; i<ma.length; i++) {
if(Character.isLowerCase(ma[i])){
count0++;
}else if(Character.isUpperCase(ma[i])){
count1++;
}else if(Character.isDigit(ma[i])){
count2++;
}else{
count3++;
}
}
System.out.println(count0 + " " + count1 + " " + count2 + " " + count3);
}
}
}
보완할 점 / 헷갈린 점
Character 관련 된 메소드가 있다는 것을 몰랐다.
이것 관련해서 블로깅을 하면서 공부를 해야겠다!!