문제
문제 링크 : 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 관련 된 메소드가 있다는 것을 몰랐다.
이것 관련해서 블로깅을 하면서 공부를 해야겠다!!
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 10816번 : 숫자 카드 2 - JAVA [자바] (0) | 2024.01.10 |
---|---|
[백준] 1920번 : 수 찾기 - JAVA [자바] (2) | 2024.01.09 |
[백준] 2441번 : 별 찍기 - 4 - JAVA [자바] (0) | 2023.01.15 |
[백준] 11721번 : 열 개씩 끊어 출력하기 - JAVA [자바] (0) | 2023.01.10 |
[백준] 11718번 : 그대로 출력하기 - JAVA [자바] (0) | 2023.01.10 |