const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
let value = input[0];
for (let i = 1; i <= 9; i++) {
console.log(`${value} * ${i} = ${value * i}`);
}
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
// console.log(input); ["5", "1 1", "2 3", "3 4", "9 8", "5 2"];
for (let i = 1; i <= input[0]; i++) {
let numbers = input[i].split(" ").map((item) => +item);
// console.log(numbers); [ 1, 1 ] [2, 3][3, 4][9, 8][5, 2];
console.log(numbers[0] + numbers[1]);
// 2 5 7 17 7
}
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
input = Number(input);
//console.log(input); 3
let sum = 0;
for (let i = 1; i <= input[0]; i++) {
sum += i;
}
console.log(sum);
----------결과는 뜸 but 실패-------
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
input = Number(input);
//console.log(input); 3
let sum = 0;
for (let i = 1; i <= input; i++) {
sum += i;
}
console.log(sum);
//인풋을 숫자로 만들어주니 해결 됨.
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
//console.log(input); ["5", "1 1", "12 34", "5 500", "40 60", "1000 1000"];
let addCount = +input[0];
// console.log(addCount); 5
for (let i = 1; i <= addCount; i++) {
let addValue = input[i].split(" ");
let result = Number(addValue[0]) + Number(addValue[1]);
console.log(result);
}
시간초과 걸림(반복문 내에 콘솔로그로 계속 출력하면 생기는 문제)
밖으로 빼주고 한번에 나올 수 있게 해보자.
-----------수정---------
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
//console.log(input); ["5", "1 1", "12 34", "5 500", "40 60", "1000 1000"];
let addCount = +input[0];
// console.log(addCount); 5
let result = ""; //공백 값을 선언해주고
for (let i = 1; i <= addCount; i++) {
let addValue = input[i].split(" ");
//result += Number(addValue[0]) + Number(addValue[1]); //result에 결과를 계속 덧 붙여주게 됨. 결과 2465051002000
result += Number(addValue[0]) + Number(addValue[1]) + "\n"; //백슬레쉬 줄바꿈을 이용해 각 줄마다 출력되게
}
console.log(result);
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
let result = "";
for (let i = 1; i <= input; i++) {
result += i + "\n";
}
console.log(result);
처음에 input 값을 숫자로 변환하여 선언 후 그 값을 넣었는데
실패가 떠서 당황.
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
input = +input;
let result = "";
for (let i = input; i > 0; i--) {
result += i + "\n";
}
console.log(result);
처음엔 input을 숫자 변환 안하고 넣었음.
출력 형식이 잘못됐다고 떠서
인풋을 숫자로 선언해줌. 해결 성공 !
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
// console.log(input);
let countNum = +input[0]; //countNum == 5
let result = "";
for (let i = 1; i <= countNum; i++) {
let number = input[i].split(" ").map((item) => +item);
result += `Case #${i}: ` + (number[0] + number[1]) + "\n";
}
console.log(result);
중간에 좀 머리가 아팠는데 알고보니 간단한 문제였다.
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
let countNum = +input[0];
let result = "";
for (let i = 1; i <= countNum; i++) {
let number = input[i].split(" ").map((item) => +item);
result +=
`Case #${i}: ${number[0]} + ${number[1]} = ` +
(number[0] + number[1]) +
"\n";
}
console.log(result);
걍 2-7에서 출력 수정만 하면 됨.
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
//input = +input[0];
let star = "";
for (let i = 1; i <= input; i++) {
star += "*";
console.log(star);
}
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
let num = input[0];
let star = "";
let blank = "";
for (let i = 1; i <= num; i++) {
star += "*";
for (let j = 0; j < num - i; j++) {
blank += " ";
}
console.log(blank + star);
blank = ""; // 초기화해줌 초기화 안해주면 스타처럼 공백도 쌓여
// *
// **
// ***
// ****
// ***** 이렇게 됨
}
------틀렸다라네--------if문 활용 풀이----
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
let num = Number(input);
for (let i = 0; i < num; i++) {
let star = "";
//i = 0 1 2 3 4
for (let j = num - 1; j >= 0; j--) { //j = 4 3 2 1 0
star += j <= i ? "*" : " "; // i가 0이면 j가 4 3 2 1일 때는 j>i니까 공백 4개에 별 한 개
// i가 4면 모두 i>=j니까 별만 추가.
}
console.log(star);
}
---------join메서드 활용---------------
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
let num = Number(input);
let star = new Array(num).fill(" ");
//length가 num(5)인 빈 객체를 생성하고 빈 공간에 공백을 채워넣는다.
console.log(star);
[" ", " ", " ", " ", " "];
for (let i = num - 1; i >= 0; i--) {
//배열의 마지막 인덱스부터 시작해서 star를 하나씩 채워넣음.
star[i] = "*";
console.log(star.join(""));
//join('') 공백없이 배열의 요소들을 공백없이 문자열로 만들어 합쳐줌.
} // 얘도 결과 제대로 나오는데 왜 틀렸다는지 모르겠다.
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
/*console.log(input);
console.log(input[1]);*/
let compareNum = input[0].split(" ").map((item) => +item);
/*console.log(compareNum);
[10, 5];*/
let num = compareNum[0]; //10
let compare = compareNum[1]; // 5
let numbers = input[1].split(" ").map((item) => +item);
/*console.log(numbers);
[1, 10, 4, 9, 2, 3, 8, 5, 7, 6];*/
let result = "";
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] < compare) {
result += numbers[i] + " ";
}
}
console.log(result); //1 4 2 3
------ 맞았지만 깔끔하게 짜고 싶다.----
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
// console.log(input);
let compareNum = input[0].split(" ").map((item) => +item);
// console.log(compareNum); [10, 5];
let numbers = input[1].split(" ").map((item) => +item);
//console.log(numbers);[1, 10, 4, 9, 2, 3, 8, 5, 7, 6];
let result = "";
for (let i = 0; i < compareNum[0]; i++) {
if (numbers[i] < compareNum[1]) result += numbers[i] + " "; //return 한줄이라 줄이고 중괄호 생략 가능.
}
console.log(result); //1 4 2 3
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
// console.log(input);
// ["1 1", "2 3", "3 4", "9 8", "5 2", "0 0"];
// let nums = input[0].split(" ").map((value) => +value);
// console.log(nums);
let arr = [];
for (let i = 0; i < input.length; i++) {
arr.push(input[i].split(" ").map((value) => +value));
}
// console.log(arr); //[ [ 1, 1 ], [ 2, 3 ], [ 3, 4 ], [ 9, 8 ], [ 5, 2 ], [ 0, 0 ] ]
let result = "";
for (let j = 0; j < arr.length; j++) {
result += arr[j][0] + arr[j][1] + "\n";
}
console.log(result);
/* 결과
2
5
7
17
7
0
*/
0이 안나오게 하려면 어떻게 해야할까.
---------if 문을 사용
or (let j = 0; j < arr.length; j++) {
if (arr[j][0] + arr[j][1] == 0) {
break;
} else {
result += arr[j][0] + arr[j][1] + "\n";
}
} //결과 값이 0이 나오면 break를 걸고
//아니라면 result에 반환하도록 해봤다.
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
// console.log(input);
// ["1 1", "2 3", "3 4", "9 8", "5 2", "0 0"];
// let nums = input[0].split(" ").map((value) => +value);
// console.log(nums);
for (let i = 0; i < input.length; i++) {
let A = Number(input[i].split(" ")[0]);
let B = Number(input[i].split(" ")[1]);
let result = A + B;
if (result === 0) {
break;
} else {
console.log(result);
}
}
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
//console.log(input);
// ["1 1", "2 3", "3 4", "9 8", "5 2"];
// A = input[0].split(" ").map((item) => +item)[0];
// console.log(A); 결과 1
let result = "";
for (let i = 0; i < input.length; i++) {
let A = Number(input[i].split(" ")[0]);
let B = Number(input[i].split(" ")[1]);
result += A + B + "\n";
}
console.log(result);
----값은 제대로 나오는데 틀렸다고 나옴---
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
//console.log(input);
// ["1 1", "2 3", "3 4", "9 8", "5 2"];
// A = input[0].split(" ").map((item) => +item)[0];
// console.log(A); 결과 1
for (let i = 0; i < input.length; i++) {
let A = Number(input[i].split(" ")[0]);
let B = Number(input[i].split(" ")[1]);
console.log(A + B);
}
------이것도 아니고 -----
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
let initNum = Number(input); //초기 숫자 고정!
let count = 0; // 0부터 카운트
//input 값 26으로 설명
while (true) {
let sum = Math.floor(input / 10) + (input % 10); // 2 + 6 = 8
//인풋을 10으로 나눠서 나온 정수와 10으로 나눈 나머지를 더하면 = 8
input = (input % 10) * 10 + (sum % 10);
// 2 + "6" = "8" 68이 다음 input으로 지정
count++;
if (initNum === input) break; // 26 != 68이니 돌아가서 반복. and count 는 +1;
}
console.log(count);
이해하면 쉬운데 처음 보면 막막하다.