✏️기록하는 즐거움
article thumbnail

Link

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력 > 입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력 > 각 테스트 케이스마다 A+B를 출력한다.

 

제출

const fs = require("fs");

const stdin = (
  process.platform === "linux"
    ? fs.readFileSync("/dev/stdin").toString()
    : `1 1
    2 3
    3 4
    9 8
    5 2`
).split("\n");

let i = 0;

while (i < stdin.length - 1) {
  let numbers = stdin[i].split(" ").map(Number);
  console.log(`${numbers[0] + numbers[1]}`);
  i++;
}

 

풀이과정

이 문제는 입력의 끝이나 테스트 케이스 개수가 제시되지 않았으므로, stdin.length를 사용하여 조건을 걸어준다.

풀이 방법은 이전 문제의 풀이와 동일하게 진행하면 되는데, 전에는 A와 B의 값을 각각 지정해주었다면

이번에는 numbers라는 배열에 값을 넣어 계산하였다.

 

 

[백준] 10952: A+B - 5 (javascript)

Link 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 > 입력은

codingmyoni.tistory.com

 

개념

EOF(End Of File)

  • 파일 끝, 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없는 것을 의미한다.

해당 문제에 테스트 케이스의 개수나 파일의 끝을 알 수 있는 것이 없으므로 반복문을 끝내기 위한 조건을 추가해주어야 한다.

따라서 제출했던 풀이처럼 stdin.length를 활용하거나 try~catch로 예외처리를 통해 해결할 수 있다.


Comment

계속해서 틀렸다는 결과가 나왔는데 문제점을 파악하지 못했었다.

백준 입력 예제에 마지막에 개행 문자가 포함됐는지 조건식을 stdin.length로 했을 때 틀렸다는 결과가 나와서

stdin.length - 1로 수정하였다.

profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!