[백준] 1단계(사칙연산)

JH Cho·2022년 7월 31일
0

알고리즘

목록 보기
6/12

문제 풀이

1-1) Hello World!를 출력하시오.

console.log('Hello World!');  // Hello World!

1-2) 두 줄에 걸쳐 "강한친구 대한육군"을 한 줄에 한 번씩 출력

console.log("강한친구 대한육군");
console.log("강한친구 대한육군");
-------------결과 -------------
강한친구 대한육군
강한친구 대한육군

1-3) 아래 예제와 같이 고양이를 출력

\    /\
 )  ( ')
(  /  )
 \(__)|
 
 ---------------------
 console.log("\\    /\\");  
 console.log(" )  ( ')");
 console.log("(  /  )");
 console.log(" \\(__)|");

// backslash()는 특수문자를 문자열로 바꾸어준다.

1-4) 개를 출력

|\_/|
|q p|   /}
( 0 )"""\
|"^"`    |
||_/=\\__|
  
  -------------------
  	console.log("|\\_/|");
	console.log("|q p|   /}");
	console.log("( 0 )\"\"\"\\");
	console.log("|\"^\"\`    |");
	console.log("||_/=\\\\__|");

1-5) A + B

  예제입력  1 2
  -------------------------
  const fs = require("fs");
  let input = fs.readFileSync("/dev/stdin").toString(); //vscode로 돌릴 때는 input.txt 사용
  // console.log(input); 1 2
  input = input.split(" "); // 위 숫자를 공백을 기준으로 나누어 배열에 저장함.
  // console.log(input); ['1', '2']
  let a = +input[0]; // 1
  let b = +input[1]; // 2

  let result = a + b;

  console.log(result);
-------------------------
  출력  3

1-6) A - B

예제입력 3 2
--------------------------
const fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString();
input = input.split(" ");
// console.log(input);  ["3", "2"];
let a = input[0];
let b = input[1];
let result = a - b;
console.log(result);
--------------------------
출력 1

1-7) A * B

예제입력 
1 2
3 4
-------------------------
  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 2", "3 4"];
input = input[0]; // 여기 0 : 1* 2 / 1이면 3*4
input = input.split(" ").map((item) => +item);
// split까지만 console.log(input); [ '1', '2' ]
// map 실행 console.log(input); [1, 2]

solution(input[0], input[1]);
function solution(A, B) {
  console.log(A * B);
}

1-8(1008) A / B

예제 
1 3
4 5
--------------------
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 3", "4 5"];

input = input[0];
//console.log(input); 1 3
input = input.split(" ").map((item) => +item);
//console.log(input); [ 1, 3 ]

function solution(a, b) {
  console.log(a / b);
}

solution(input[0], input[1]);

1-9(10869) 사칙연산

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";

let input = fs.readFileSync(filePath).toString().split(" "); 
// 입력값이 한 줄이니 줄바꿈 필요 없이 공백으로 배열 새성.
// console.log(input);

input = input.map((item) => +item);
// console.log(input);

function solution(A, B) {
  console.log(A + B);
  console.log(A - B);
  console.log(A * B);
  console.log(Math.trunc(A / B)); //math.trunc : 소수점 숫자 버림.
  console.log(A % B);
}
solution(input[0], input[1]);

---------------------출력
10
4
21
2
1

1-10(10926) ?!!

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";

let input = fs.readFileSync(filePath).toString();
console.log(input);
input = input.split("\n");
console.log(input);

console.log(`${input[0]}?!!`);
-----------------------------내가 짠 코드. 결과는 나오는데 틀렸다고 나옴.


const input = require("fs").readFileSync("/dev/stdin").toString().trim()

console.log(`${input}??!`);

string.trim()
문자열의 '앞' '뒤' 공백을 제거해준다.
앞만 : trimStart 뒤만 : trimEnd

1-11(18108) 1998년생인 내가 태국에서는 2541년생?!

입력값 2541
예제출력 1998
-543-----------내가 제출(틀림)------------------
  const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";

let input = fs.readFileSync(filePath).toString();

console.log(input); // 2541
let year = input;
function solution(year) {
  console.log(year - 543);
}
solution(2541); 
------------------------
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";

let input = fs.readFileSync(filePath).toString();

// console.log(input); // 2541
let year = input;
console.log(year - 543);

간단하게 하면
let year 생략하고
console.log(input - 543); 

평가 : 너무 어렵게 생각하는 경향이 있다. 좀 더 코드를 최대한 간단하게 짤 수 있게 여유를 가지자.

1-12(10430) 나머지

(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?

(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?

세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.

입력값 5 8 4
예제출력 
1
1
0
0
----------------------------
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";

let input = fs
  .readFileSync(filePath)
  .toString()
  .split(" ")
  .map((item) => +item);
// console.log(input); [5, 8, 4];

/*  map 함수 작동 원리.
let newArr = [];
for (let i = 0; i < input.length; i++) {
  newArr.push(+input[i]);
}
console.log(newArr);
*/
let [A, B, C] = input;
// let A = input[0];
// let B = input[1];
// let C = input[2];
// console.log(A);
// console.log(B);
// console.log(C);

console.log((A + B) % C);
console.log(((A % C) + (B % C)) % C);
console.log((A * B) % C);
console.log(((A % C) * (B % C)) % C);
 
  • 새로 알게 된 것
    위와 같이 A, B, C를 각각 선언하지 않고
    array = array명 으로 해서 한번에 넣을 수 있음.

1-13(B2588) 곱셈

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";

let input = fs.readFileSync(filePath).toString().split("\n");
// console.log(input); ["472", "385"];
// console.log(input[1][2]); 5
let A = input[0] * input[1][2];
let B = input[0] * input[1][1];
let C = input[0] * input[1][0];
console.log(A);
console.log(B);
console.log(C);
console.log(A + B * 10 + C * 100);

-----------------나와 다른 풀이.-------------------
  
  solution(input[0], input[1]);
function solution(A, B) {
    // Write your code
    const stringB = String(B);
    const one = +stringB[2];
    const ten = +stringB[1];
    const hun = +stringB[0];
    console.log(A * one);
    console.log(A * ten);
    console.log(A * hun);
    console.log(A * B);
}

1-14(B25083) 새싹

console.log(`\         ,r'"7`);
console.log("r`-_   ,'  ,/");
console.log(" \\. \". L_r'");
console.log("   `~\\/");
console.log("      |");
console.log("      |");

내 모습 같네

profile
주먹구구식은 버리고 Why & How를 고민하며 프로그래밍 하는 개발자가 되자!

0개의 댓글