45일차 - 2022.04.16

Baekjoon에서 문제풀이


1) 문제 : 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. 각 테스트 케이스마다 A+B를 출력한다. (0 < A, B < 10)


고민과정
도저히 현상태에서 아는 부분으로는 답을 못 찾을거 같고 기본 문법 부분외에 직접 작성한 코드부분에서는 틀린 부분이 없어보였다.
BaekJoon을 시작한 처음부분에서 오래 고민했던것처럼 모듈부분에 문제가 있다고 생각했는데 스스로 찾진 못할것 같아 readline 모듈을 알던 부분에서 추가로 찾아보았는데 그동안 사용하던 기본문법과 조금다른 방식을 찾을수 있었다.

const readline = require('readline');
const rl = readline.createInterface({
    input : process.stdin,
    output : process.stdout
});


rl.on('line',function(line){
      const input = line.split('\n');

답 구하기 위해 직접 고민해 작성하는 부분
  
    
    }).on('close', function () {
  process.exit();
});

이런 형식의 readline모듈을 사용했었는데

const readline = require('readline');

const rl = readline.createInterface({
    input : process.stdin,
    output : process.stout,
});

const input = [];

rl.on('line', function(line) {
    input.push(line);
    
}).on('close', function() {
    
    답 구하기 위해 직접 고민해 작성하는 부분
    
    process.exit();
});

이런 형식도 있었다. 아직 정확한 원인과 사용이유를 알진 못하겠는데 우선 활용해보았음.



풀이

const readline = require('readline');

const rl = readline.createInterface({
    input : process.stdin,
    output : process.stout,
});

const input = [];

rl.on('line', function(line) {
    input.push(line);
    
}).on('close', function() {
    
    const T = parseInt(input[0]);

for(let i=1; i<= T; i++) {
    let A = parseInt(input[i].split(' ')[0]);
    let B = parseInt(input[i].split(' ')[1]);
    
     if (0 < A,B < 10) {
    console.log(A+B);
}}
    process.exit();
});

2) 문제 : 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. 각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.

고민과정
앞에서 풀었던 문제와 거의 유사한데

const readline = require('readline');

const rl = readline.createInterface({
    input : process.stdin,
    output : process.stout,
});

const input = [];

rl.on('line', function(line) {
    input.push(line);
    
}).on('close', function() {
    
    let a = '';
    const T = parseInt(input[0]);

for(let i=1; i<= T; i++) {
    let A = parseInt(input[i].split(' ')[0]);
    let B = parseInt(input[i].split(' ')[1]);
    a += `${A+B} + \n`; 
    
     if (1 <= A,B <= 1000 && T <= 1000000) {
    console.log(a);
}}
    process.exit();
});

로 우선 했는데 출력초과가 뜸. 아직 고민중


하루 돌아보며

조금 다른형태의 문법방법을 확인했는데 왜 그렇게 되는지를 살펴봐야 겠다. 아직 이해가 덜 되서 자유로운 활용에 문제가 있을것임.

만족도 : ★☆☆☆☆

공부 출처

BaekJoon


위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독 혹은 공부간 틀린 내용 발견시 수정하겠습니다

좋은 웹페이지 즐겨찾기