📌 문제
https://www.acmicpc.net/problem/1032
📌 소스 코드
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 면 문자 그대로 빌더에 저장
'Algorithm' 카테고리의 다른 글
[Java] 백준 16466 : 콘서트 (0) | 2022.06.28 |
---|---|
[Java] 백준 3028 : 창영마을 (0) | 2022.06.21 |
[Java] 백준 1157 : 단어 공부 (0) | 2022.06.04 |
[Java] 백준 11944 : NN (0) | 2022.04.01 |
[Java] 백준 2864번 : 5와 6의 차이 (0) | 2022.03.27 |