✍🏻 문제 확인하기
접근 방법
- 각 input의 같은 index에 있는 값을 비교해서 모두 같으면 해당 값을 출력, 하나라도 다르면 ?를 출력하기
풀이
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : './data/1032.txt';
let input = fs.readFileSync(file).toString().split('\n');
let N = input.shift()*1;
let fileList = [];
for(let i = 0; i < N;i++) {
fileList.push(input[i]);
}
console.log(solution(fileList));
function solution(arr) {
let answer = '';
for(let i = 0; i < arr[0].length; i++) {
let tmp = arr[0][i];
let count = 0;
for(let j = 0; j < arr.length; j++) {
if(tmp !== arr[j][i]) {
answer += '?';
break;
} else {
count++;
}
if(count === arr.length) answer += tmp;
}
}
return answer;
}
해설
- count를 이용해 input값으로 들어온 길이만큼 모두 비교했는지 판단함
- 0부터 input의 길이까지 반복하여 한 글자씩 비교하기
- [0][i]의 값과 arr[j][i]의 값이 다르면 '?'를 붙여주고
- 값이 같으면 [0][i]값을 이어 붙여주기