코딩응애의 개발블로그

[JS] 백준 단계별로 풀어보기 (입출력과 사칙연산 1000번, 2588번) vol.2 본문

알고리즘 문제

[JS] 백준 단계별로 풀어보기 (입출력과 사칙연산 1000번, 2588번) vol.2

이너멜 2022. 3. 3. 17:16

복습 겸해서 1단계부터 다시 풀어보면서 정리 할만한거는 정리하는 식으로 할거임 

 

백준 1000번 

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(__dirname + '/input.txt').toString().split('\n');

input = input[0].split(' ').map(value => +value);

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

function solution(A,B) {
    console.log(A+B);
}

처음에 이 문제를 풀었을때는 입력받는 문장을

input = input[0];

input = input[0].split(' ').map(value=>+value); 이렇게 했었는데 한줄로 입력받게 함 

처음에 풀었을때는 solution 인자 안에 + 붙여서 하다가 안되가지고 map 함수 이용을 해서 해결을 했다. 이래서 복습이 중요한가보다.

 

백준 2588번 

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(__dirname + '/input.txt').toString().split('\n');

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

// function solution(a, b) {
//     for (let i = 2; i >= 0; i--) {
//         console.log(a * b[i])
//     }
//     console.log(a * b);
// } 
// for 문을 이용해서 풀었을때 

input = input.map(value => +value);

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

function solution(a, b) {
    const sb = String(b);
    const one = +sb[2];
    const ten = +sb[1];
    const hun = +sb[0];
    console.log(a * one);
    console.log(a * ten);
    console.log(a * hun);
    console.log(a * b);
}

처음에는 for문으로 풀어서 백준 제출해서 맞긴 했는데 지금 1단계에서는 for문을 이용하면 안될것 같아서 다시 풀었다. 

숫자를 문자열로 변환을 해서 각 자리 수를 다시 정수로 변환해서 곱해주는 형식으로 문제를 해결을 했다.

Comments