자바스크립트로 백준 시작하기

메밀·2022년 4월 9일
2

코딩테스트

목록 보기
1/1

코딩테스트 시작을 위한 여정

그냥 로직만 잘 짜서 입력하면 될 줄 알았다.
즐겨찾기에 추가해두고 어떤 언어로 할지 고민하다가 어영부영 시간이 가는 게 아까워서 마침 강의를 듣고 있는 자바스크립트로 시작하자고 마음 먹었는데,

  • 백준은 자바스크립트를 지원하지 않는다. node.js를 써야 한다고 하는데(?)
  • 문제의 입출력을 직접 해줘야 한다고(?)
  • vs code로 실행하려면 또 뭘 설정해줘야 한다고(?)

.. 시작하기 쉽지 않네. 역시 즐거워^.^

문제 해결

  1. node.js 시작하기
  • node.js도 결국 배워야 하니까 그냥 해보기로.
    사실 node.js와 자바스크립트의 차이를 지금 거의 몰라서 잘 한 건지 모르겠지만, 그건 직접 해봐야 알게 되겠지~
  1. node.js 설치하기 (vs code 테스트용)
  1. 입출력을 위한 코드 작성하기
  • fs 방식과 readline 방식이 있다고 하는데, 나는 fs 방식으로 일단 해보기로 했다.
const fs = require('fs');
let input = fs.readFileSync('.input.txt').toString();

일단 여기까지는 동일하고, 그 다음에 한 뭉텅이인 input 값을 각각 배열에 담아야 한다.
담는 과정은 각자 코드를 어떻게 작성하는지에 따라 달라지는 것 같음. 설명하는 사람마다 제각각이라, 직접 해보면서 내가 가장 편한 방법을 찾으면서 기록할 예정이다.

일단 시작은 다음 코드로!

//한 줄인 경우
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');

let num = Number(input);

for (let i = 1; i <= num; i++) {
  console.log(i);
}

//여러 줄인 경우
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');

let count = input[0];
let numbers = [];

for (let i = 1; i < input.length; i++) {
  if (input[i] !== '') {
    numbers.push(input[i].split(' '));
  }
}

for (let i = 0; i < numbers.length; i++){
  let num1 = Number(numbers[i][0]);
  let num2 = Number(numbers[i][1]);

  console.log(num1 + num2);
}

0개의 댓글