JavaScript 백준 온라인 알고리즘 공부
백준 10952 번 JavaScript 문제
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문
을 쓰는게 가장 좋다고 생각했다.
""
, " "
같은 빈 문자열과 공백을 대신 놓아도 정답으로 처리해주지만
본래 목적인 반복 루프를 멈추게 해주지는 못해서 사실 정답처리 되는게 이상할지도 모른다.