[백준] 1032 명령 프롬프트 - Node.js

송철진·2024년 2월 10일
0

백준-Node.js

목록 보기
69/69
const fs = require('fs')
const input = fs.readFileSync('/dev/stdin').toString().trim()

const solution = ((input) => {
  const arr = input.split('\n');
  const count = input.split('\n')[0];
  const inp = arr.slice(1);
  const strLen = inp[0].length;
  let result = ''

  for(let i=0; i<strLen; i++){
    let character = [];
    for(let j=0; j<count; j++){
      character.push(inp[j][i])
    }
    const k = new Set(character)
    if(k.size === 1){
      result += k.values().next().value;
    }else{
      result += '?';
    }
  }
  return result
  
})(input)
console.log(solution)

풀이

각 문구의 문자들을 순서대로 배열 character[] 에 추가했고
Set 으로 중복 문자를 제거하여 size가 1이면 모두 같은 문자로 판단하여
result 에 해당값을 덧붙이고
size가 1이 아니면 다른 문자가 있는 것으로 판단하여
result 에 '?'를 덧붙이도록 구현했다.

Set 에서 1개 남은 문자를 어떻게 꺼내야 하나 했는데
.values().next().value -> 이걸 쓸 수 있다는 걸 처음 알게 되었다.

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글