새발블로그

[백준/Java] 1032 명령 프롬프트 본문

Problem Solving/Baekjoon

[백준/Java] 1032 명령 프롬프트

EUG 2025. 3. 23. 18:15

문제

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

 

풀이방법

문자열의 길이가 같으므로, 첫번째 문자열을 기준으로 다른 문자열들과 비교하며 다른 부분만 ?로 바꾸려하였다.

인덱스를 변경하려 하니, 자바에서 문자열은 불변 객체이기 때문에 직접 인덱스를 변경할 수 없다는 것을 알게 되었다.

따라서 문자열을 문자 배열로 변환한 후 필요한 인덱스를 변경하고 문자열을 변환하는 방법을 사용해보았다.

 

풀이

import java.io.*;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        String str;

        int n = Integer.parseInt(sc.nextLine());
        String[] arr = new String[n];
        for (int i = 0; i<n; i++) {
            arr[i] = sc.nextLine();
        }
        int strLen = arr[0].length();
        char[] result = arr[0].toCharArray();

        for (int i = 0; i<strLen; i++) {
            for (int j = 1; j<n; j++) {
                if (result[i]!=arr[j].charAt(i)) {
                    result[i] = '?';
                }
            }
        }
        System.out.println(new String(result));
    }
}

 

'Problem Solving > Baekjoon' 카테고리의 다른 글

[백준/Java] 4949 균형잡힌 세상  (0) 2025.03.30
[백준/Java] 1541 잃어버린 괄호  (1) 2025.03.26
[백준/Java] 1157 단어 공부  (1) 2025.03.24
[백준/Java] 1152 단어의 개수  (1) 2025.03.23
[백준/C++] 1008번  (0) 2024.03.04