알고리즘 풀이
[JAVASCRIPT] 백준 1032번 문제 풀이
Lv1_junior_dev
2023. 2. 23. 20:09
❗ 풀이
let [N, ...input] = require('fs').readFileSync('dev/stdin').toString().trim().split("\n").map((line)=> line.replace(/\n|\r|\s*/g, ""));
let differentPart = '';
for (let i = 0; i < input[0].length; i++) {
const char = input[0][i];
if (input.some((str) => str[i] !== char)) {
differentPart += '?';
} else {
differentPart += char;
}
}
console.log(differentPart);
1. split("\n") 하였을 때 배열내에 문자열에 개행 문자도 추가되어 replace를 이용하여 개행 문자 제거
2. some()을 이용하여 첫 번째 문자열을 기준으로 하나씩 문자를 비교
3. 모든 문자열에서 해당 위치의 문자가 일치하지 않으면 ?를 differentPart에 추가
4. 일치한다면 해당 문자를 differentPart에 추가
5. 하나씩 문자를 비교해 나가면 differentPart에는 모든 문자열들 중 다른 부분이 ?로 대체된 하나의 문자열이 담기게 됨
6. 결과 출력