Algorithm๐Ÿฅ‡

10820.๋ฌธ์ž์—ด๋ถ„์„

hae02y 2023. 10. 17. 13:59
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

๋ฌธ์ž์—ด N๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž, ๊ณต๋ฐฑ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

๊ฐ ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž, ๊ณต๋ฐฑ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๋ฒˆ์งธ ์ค„๊นŒ์ง€ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 100) ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๋ฒˆ์งธ ์ค„๊นŒ์ง€ ๊ฐ๊ฐ์˜ ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด์„œ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž, ๊ณต๋ฐฑ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งžํžŒ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ
1 ์ดˆ 256 MB 30224 12318 10187 41.243%

https://www.acmicpc.net/problem/10820

ํ’€์ด

์ฒ˜์Œ์— BufferedReader๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ์‹œ๋„ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋ฌธ์žฅ์˜ ์ด ๊ฐฏ์ˆ˜ N์ด ์ฃผ์–ด์ง€์ง€ ์•Š์•„์„œ while (scanner.hasNext()) ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค.

์ถ”๊ฐ€
BufferedReader๋ฅผ ์‚ฌ์šฉ ํ•˜์—ฌ while ((input = br.readLine()) != null ) ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฝ”๋“œ

public class ๋ฌธ์ž์—ด๋ถ„์„ {  

    //์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ์ˆซ์ž, ๊ณต๋ฐฑ  
    public static void main(String[] args) throws IOException {  
        Scanner scanner = new Scanner(System.in);  

        final int SMALL = 0;  
        final int BIG = 1;  
        final int NUMBER = 2;  
        final int SPACE = 3;  

        while (scanner.hasNext()){  

            int[] arr = new int[4];  
            String string = scanner.nextLine();  

            for(int i=0; i<string.length(); i++){  

                char c = string.charAt(i);  
                if(c >= 'a' && c <= 'z'){  
                    arr[SMALL]++;  
                } else if(c >= 'A' && c <= 'Z'){  
                    arr[BIG]++;  
                }else if(c >= '0' && c <= '9'){  
                    arr[NUMBER]++;  
                }else{  
                    arr[SPACE]++;  
                }  
            }  
            for (int i : arr){  
                System.out.printf("%d ",i);  
            }  
            System.out.println();  
        }  
        scanner.close();
    }  
}
๋ฐ˜์‘ํ˜•