๋ฌธ์
๋ฌธ์์ด 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();
}
}