๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

[๋ฐฑ์ค€/1032/๋ช…๋ น ํ”„๋กฌํ”„ํŠธ]

์‹œํ๋ฆฌํ‹ฐ์ง€ํ˜ธ 2024. 3. 18.

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

 

1032๋ฒˆ: ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ

์ฒซ์งธ ์ค„์— ํŒŒ์ผ ์ด๋ฆ„์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ํŒŒ์ผ ์ด๋ฆ„์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ  ํŒŒ์ผ ์ด๋ฆ„์˜ ๊ธธ์ด๋Š” ๋ชจ๋‘ ๊ฐ™๊ณ  ๊ธธ์ด๋Š” ์ตœ๋Œ€ 50์ด๋‹ค. ํŒŒ์ผ์ด๋ฆ„์€

www.acmicpc.net

 

 

<<ํ’€์ด>>

 

์ด ๋ฌธ์ œ๋Š” ๋งจ ์ฒ˜์Œ ๊ฒƒ์„ toCharArray๋กœ ๋ณ€ํ˜• ํ•œ ๋’ค ๊ทธ ๋‹ค์Œ ๋ถ€ํ„ฐ ๊ฐ๊ฐ์˜ char์™€ ๋น„๊ตํ•˜๋ฉด์„œ ๋‹ค๋ฅด๋ฉด '?'๋กœ ๋ฐ”๋€Œ๊ฒŒ ํ•จ์œผ๋กœ์จ

 

๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์‰ฌ์šด ๋ฌธ์ œ์ด๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด์—๋Š” ๋ฌด์กฐ๊ฑด solution ๊ฐ’์— return๊ฐ’์„ ์ค˜์„œ ๊ตฌํ–ˆ๋Š”๋ฐ void๋กœ ํ•ด์„œ ๋ฐ”๋กœ ์ฝ˜์†”์— ์ฐ๊ฒŒ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค.

 

์ด๋Ÿฐ ์ ์€ ๋‚˜์ค‘์—๋„ ์œ ์šฉํ•˜๊ฒŒ ์ด์šฉํ•˜์ž.


import java.util.Scanner;

class Main {
    private void solution(String[] arr, int n) {

        char[] target = arr[0].toCharArray();
        for (int i = 1; i < n; i++) {
            for (int j = 0; j < target.length; j++) {
                if (target[j] != arr[i].charAt(j)) target[j] = '?';
            }
        }
    
        for (char x : target) System.out.print(x);

    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        String[] arr = new String[n];
        for (int i = 0; i < n; i++) {
            arr[i] = in.next();
        }
        T.solution(arr, n);
    }
}

 

 

 

๊ทผ๋ฐ ์ด์ƒํ•œ ์ ์„ ๋ฐœ๊ฒฌํ–ˆ๋Š”๋ฐ

 

๋ฐ”๋กœ ์ด ์ฝ”๋“œ์ด๋‹ค. ๋‚˜๋Š” ์ฒ˜์Œ์— return ๊ฐ’ String์„ ๋ฐ˜ํ™˜ํ•ด์„œ ์ฃผ๋ ค๊ณ  ํ–ˆ๊ธฐ์— x + answer ๋กœ ์ตœ์ข…์ ์œผ๋กœ ๋‹ต์„ ๊ตฌํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค.

 

๊ทผ๋ฐ

 

Not a statement

 

์ด๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋œจ๋ฉด์„œ ์—๋Ÿฌ๊ฐ€ ์ƒ๊ฒผ๋‹ค.


import java.util.Scanner;

class Main {
    private String solution(String[] arr, int n) {

        char[] target = arr[0].toCharArray();
        for (int i = 1; i < n; i++) {
            for (int j = 0; j < target.length; j++) {
                if (target[j] != arr[i].charAt(j)) target[j] = '?';
            }
        }
        String answer = "";
        for (char x : target) x + answer;
        
        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        String[] arr = new String[n];
        for (int i = 0; i < n; i++) {
            arr[i] = in.next();
        }

        System.out.println( T.solution(arr, n));
       
    }
    
}

๋Œ“๊ธ€