❗ 풀이
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. 결과 출력
'알고리즘 풀이' 카테고리의 다른 글
[JAVASCRIPT] 백준 1026번 문제 풀이 (0) | 2023.04.04 |
---|---|
[JAVASCRIPT] 백준 1120번 문제 풀이 (0) | 2023.02.26 |
[JAVASCRIPT] 백준 4949번 문제 풀이 (0) | 2023.02.10 |
[JAVASCRIPT] 백준 1302번 문제 풀이 (0) | 2023.02.07 |
[JAVASCRIPT] 백준 1439번 문제 풀이 (0) | 2023.01.31 |