Algorithm
[Java] 백준 1032 : 명령 프롬프트
Woogie
2022. 6. 8. 21:26
📌 문제
https://www.acmicpc.net/problem/1032
1032번: 명령 프롬프트
첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은
www.acmicpc.net
📌 소스 코드
package baekjoon;
import java.util.Scanner;
public class Q1032 { // 명령 프롬프트
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int testCase = scanner.nextInt();
String[] strArr = new String[testCase];
for (int i = 0; i < testCase; i++) { // 1
strArr[i] = scanner.next();
}
StringBuilder sb = new StringBuilder(); // 2
boolean isSame = true; // 3
for (int i = 0; i < strArr[0].length(); i++) { // 3
for (int j = 1; j < testCase; j++) {
isSame = true;
if (strArr[0].charAt(i) != strArr[j].charAt(i)) { // 5
isSame = false; // 6
break;
}
}
if (isSame) { // 7
sb.append(strArr[0].charAt(i));
} else {
sb.append("?");
}
}
System.out.println(sb); // 출력
}
}
📌 풀이
- 각 인덱스에 문자열 입력
- 문자열 더해서 출력하기 위한 StringBuilder
- 값 다를 경우를 판별하기 위한 boolean
- 길이는 같으므로 첫 번째 문자열 길이를 고정으로 반복
- 문자를 하나씩 charAt으로 쪼개서 같은지 각각 3번씩 비교
- 하나라도 다를 경우 false로 초기화해주고 break
- true 면 문자 그대로 빌더에 저장