[CS & Algorithm] JS 입출력과 문법

werthers·2023년 5월 13일
0

CS&Algorithm

목록 보기
2/12
post-thumbnail

입출력 형식

약속된 입출력 양식이 주어진다.

  1. 데이터를 입력 받거나 생성
  2. 적절한 알고리즘을 사용하여 도출한 정답을 정해진 양식으로 출력한다.

JS 빠른 출력

  • JS로 알고리즘 문제를 풀 때 출력 과정만으로 시간 초과를 받을 때가 있다.
  • 출력 시간을 단축하기 위해 다음과 같은 방법을 사용할 수 있다.
for(let i = 1; i <= 100; i++) {
  	answer += i += '\n'; //문자열로 변환하여 기록
}

JS 기본 입력 - fs 모듈

  • 입력 데이터가 텍스트 파일 형태로 주어지는 경우, 파일 시스템 모듈을 사용한다.
  • 기능 : 전체 텍스트를 읽어온 뒤에, 줄바꿈 기호를 기준으로 구분하여 리스트로 변환하기
let fs = require('fs');
let input = fs.readFileSync('input.txt').toString().split('\n');

JS 기본 입력 - readline 모듈

  • 한 줄씩 입력을 받아서, 처리하여 정답을 출력할 때는 readline 모듈을 사용할 수 있다.
const rl = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout
});

let input = [];
rl.on('line', function(line){
  input.push(line);
}).on('close', function(){
  console.log(input);
  process.exit()
});

JS 문법

Array.prototype.reduce()

  • 배열의 모든 원소에 대해 특정한 연산을 순차적으로 적용할 때 reduce()를 사용한다.
  • accumulator, currentValue => 반환값
  • 배열의 각 요소를 확인해 currentValue에 들어가고 반환값은 accumulator에 저장된다.
let minValue = data.reduce((a, b) => Math.min(a, b));
let sum = data.reduce((a, b) => (a + b));
  • 배열 초기화 방법
    let arr = new Array(5).fill(0);
  • 집합 자료형
    let mySet = new Set();
    - 중복되지 않는 값을 가진다.
  • 특정 자리에서 반올림
    .toFixed()
profile
Hello World !

0개의 댓글

관련 채용 정보