백준 10952 번 JavaScript 문제

Cho Dragoo·2021년 5월 10일
0
post-thumbnail

JavaScript 백준 온라인 알고리즘 공부

백준 10952 번 JavaScript 문제

A+B - 5
https://www.acmicpc.net/problem/10952



본인이 제출한 답

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

answer = "";
i = 0;
while (i <= arr.length - 1) {
  let A = parseInt(arr[i].split(" ")[0]);
  let B = parseInt(arr[i].split(" ")[1]);
  if (A !== 0 || B !== 0) {
    answer += `${A + B}` + "\n";
  } else {
    break; // "" or " " 도 정답처리된다.
  }
  i++;
}

console.log(answer);

// 삼항연산자 answer += A !== 0 || B !== 0 ? `${A + B}` + "\n" : "";
// 로 정답처리가 되지만 이 경우엔 break문을 쓰지 못한다.

풀이과정 소감

  • 단계별 풀어보기 'while문을 사용해 봅시다'라고 적혀있지만 for문으로도 풀 수있다.
    입력의 마지막에는 0 두 개가 들어온다는 조건을 생각해보면
    '0 0' 이라는 입력값이 들어올때 반복문을 끊어야하니
    break문을 쓰는게 가장 좋다고 생각했다.

  • "", " " 같은 빈 문자열과 공백을 대신 놓아도 정답으로 처리해주지만
    본래 목적인 반복 루프를 멈추게 해주지는 못해서 사실 정답처리 되는게 이상할지도 모른다.

profile
어떤 문제든 파악 할 수 있으며 해결책을 찾을 수 있는 개발능력을 꿈꾸고 있습니다.

0개의 댓글