프로그래머스/Javascript: 기초 문제 4일차

n의 배수

문제

정수 numn이 매개 변수로 주어질 때, numn의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.

  • 제한사항
    • 2 ≤ num ≤ 100
    • 2 ≤ n ≤ 9

소스 코드

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = '';

rl.on('line', (line) => {
  input = line.split(' ').map(Number);
  rl.close();
}).on('close', () => {
  const answer = solution(input[0], input[1]);
  console.log(answer);
});

const solution = (num, n) => num % n === 0 ? 1 : 0;

공배수

문제

정수 numbern, m이 주어집니다. numbern의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.

  • 제한사항
    • 10 ≤ number ≤ 100
    • 2 ≤ n, m < 10

소스 코드

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = '';

rl.on('line', (line) => {
  input = line.split(' ');
  rl.close();
}).on('close', () => {
  const answer = solution(input[0], input[1], Number(input[2]), Number(input[3]));
  console.log(answer);
});

const solution = (num, n, m) => num % n === 0 && num % m === 0 ? 1 : 0;

홀짝에 따라 다른 값 반환하기

문제

양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.

  • 제한사항
    • 1 ≤ n ≤ 100

소스 코드

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = '';

rl.on('line', (line) => {
  input = line;
  rl.close();
}).on('close', () => {
  const answer = solution(Number(input));
  console.log(answer);
});


const solution = (n) => {
  let answer = 0;
  if (n % 2 === 0) {
    for (let i = n; i >= 0; i -= 2) {
      answer += i * i;
    }
  } else {
    for (let i = n; i >= 0; i -= 2) {
      answer += i;
    }
  }

  return answer;
};

조건 문자열

문제

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.

두 수가 nm이라면 ">", "=" : n >= m "<", "=" : n <= m ">", "!" : n > m "<", "!" : n < m 두 문자열 ineqeq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 nm이 주어질 때, nmineqeq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.

  • 제한사항
    • 1 ≤ n, m ≤ 100

소스 코드

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = '';

rl.on('line', (line) => {
  input = line;
  rl.close();
}).on('close', () => {
  const answer = solution(Number(input));
  console.log(answer);
});

const solution = (ineq, eq, n, m) => {
  let answer = 1;
  if (ineq === '<') {
    answer = n <= m ? 1 : 0;
  } else {
    answer = n >= m ? 1 : 0;
  }
  if (answer === 1) {
    if (eq === '!=') {
      answer = n === m ? 0 : 1;
    }
  }

  return answer;
};

조건 문자열

문제

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.

두 수가 nm이라면 ">", "=" : n >= m "<", "=" : n <= m ">", "!" : n > m "<", "!" : n < m 두 문자열 ineqeq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 nm이 주어질 때, nmineqeq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.

  • 제한사항
    • 1 ≤ n, m ≤ 100

소스 코드

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = '';

rl.on('line', (line) => {
  input = line;
  rl.close();
}).on('close', () => {
  const answer = solution(Number(input));
  console.log(answer);
});

const solution = (ineq, eq, n, m) => {
  let answer;
  if (ineq === '<') {
    answer = n <= m ? 1 : 0;
  } else {
    answer = n >= m ? 1 : 0;
  }
  if (answer === 1) {
    if (eq === '!=') {
      answer = n === m ? 0 : 1;
    }
  }

  return answer;
};

flag에 따라 다른 값 반환하기

문제

두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.

  • 제한사항
    • 1,000 ≤ a, b ≤ 1,000

소스 코드

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = '';

rl.on('line', (line) => {
  input = line.split(' ');
  rl.close();
}).on('close', () => {
  const answer = solution(Number(input[0]), Number(input[1]), Boolean(input[2]));
  console.log(answer);
});

const solution = (a, b, flag) => flag ? a + b : a - b;

이 글이 도움이 되었나요?

신고하기
0분 전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.