알고리즘 풀이/백준

★ [백준][Java] 10820번 문자열 분석 (문자열)

배게 2021. 9. 30. 14:18
728x90

보통 N개의 문자열이 들어오면 입력 방식이 첫번째 라인에 int N을 받는 구조로 되어야 하는데

이건 그런게 없어서 trigger를 임의로 지정해줘야함

 

참고 : https://stackoverflow.com/questions/14581205/bufferedreader-readline-waits-for-input-from-console 

 

String line;

while ((line = br.readLine()) != null){

           ......

}

로 해도 되고 밑에처럼 해도 되고

 

int a;while ( (a=10) !=null){

 

}

이거는 에러남.. 왜지 ㅠ

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
 
public class Main {
        
    private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    
    
    public static void main(String[] args) throws IOException{
        
        while(true) {
            String s  = br.readLine();
            if(s==nullbreak;
            char[] input = s.toCharArray();
            int lower=0, upper=0, num=0, blank=0;
            
            for (char c : input) {
                if('a'<=&& c<='z')
                    lower++;
                if('A'<=&& c<='Z')
                    upper++;
                if('0'<=&& c<='9')
                    num++;
                if(' '==c)
                    blank++;
            }
            bw.write(lower+" "+upper+" "+
                                num+" "+blank+"\n");
        }
        
//        bw.write("");
          bw.flush();
          bw.close();
    }
    
    
 
    private static int stoi(String input) {
        return Integer.parseInt(input);
    }
}
cs