이 문제는 N가지 문자가 주어지는데

첫번째 자리 부터 N번째 자리까지 같은 문자 라면 포함시키고 그게 아니라면 ? 를 넣어주면 되는 문제이다. 

 

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
package backjun;
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
public class 명령프롬프트_1032 {
 
    static int n;
    static char[][] str;
    public static void main(String[] args) throws Exception{
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        n = Integer.parseInt(br.readLine());
        str = new char[n][50];
        for(int i=0; i<n; i++) {
            String s = br.readLine();
            str[i] = s.toCharArray();
        }
        
        ArrayList<Character> a = new ArrayList<>();
        for(int i =0; i<str[0].length; i++) {
            boolean find = false;
            for(int j=1; j<n; j++) {
                if(str[0][i] != str[j][i])
                    find = true;
            }
            if(find == false)
                a.add(str[0][i]);
            else
                a.add('?');
        }
        String b = "";
        for(int i=0; i<a.size(); i++)
            b += a.get(i);
        System.out.println(b);
    }
 
}
 
cs