[JS] 1000 1001 10998 1008번 입출력방식/사칙연산

    2022.7.24

    1000 1001 10998 1008번

    백준 사이트인 경우 입출력을 직접 작성해 줘야함.

    입출력 방식 : fs모듈, readline모듈

    • fs모듈
    
    const fs = require('fs'); //file system 모듈 불러옴
    
    //fs모듈의 readFileSync 를 통해 동기적으로 해당 경로의 파일 전체를 읽어들임
    //백준에선 '/dev/stdin' 경로에 테스트 케이스 파일이 있음.
    //읽어드린 정보는 toString함수를 통해 문자열로 변환
    //입력 받은 문자열은 split 함수를 통해 배열화한다.
    const inputData1 = fs.readFileSyns('/dev/stdin').toString().split('');
    
    //옵션을 사용하여 'utf8' 문자열로 반환
    const inputData2 = fs.readFileSync(0,'utf8').split('');
    
    • readline 모듈
    
    const readline = require('readline');
    const rL=readline.createInterface({
        input : process.stdin,
        ouput : process.stdeout,
    });
    
    rL.on('line',(line) =>{
        //line을 가공하여 변수에 저장
    }).on('close,() => {
        //저장된 변수를 이용하여 계산 후 출력
    });
    // 각 줄이 입력될 때마다 'line'이벤트가 매번 발생하여 이를 변수에 저장하며, 'close'이벤트가 발생한 경우 저장된 변수를 가지고 계산을 진행.
    

    결론

    로직 도중 유저로부터 입력을 받거나 출력을 요하지 않기 때문에, 복잡한 readline 모듈보다 fs모듈을 통해 간결하게 작성.

    풀이

    const fs = require('fs');
    const inputData = fs.readFileSync(0,'utf8').toString().split(' '); // 문자열로 반환
    const A = parseInt(inputData[0]); //숫자로 형변환 시킴
    const B = parseInt(inputData[1]);
    
    console.log(A+B);
    console.log(A-B);
    console.log(A*B);
    console.log(A/B);

     

    'algorithm > 백준' 카테고리의 다른 글

    [JS] 10926번 ??!  (0) 2022.08.12
    [JS] 10869 사칙연산  (0) 2022.08.12
    [JS] 2480번 주사위 세개  (0) 2022.08.11
    [JS] 2525번 오븐 시계  (1) 2022.08.11
    [JS]2884번 알람시계  (0) 2022.08.10

    댓글