알고리즘/백준

[JS/백준] - 2480번

미니미니찍찍 2022. 3. 23. 23:08

https://www.acmicpc.net/problem/2480

 

2480번: 주사위 세개

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.  같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.  같은 눈이 2개

www.acmicpc.net

 

실패한 코드 

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

rl.on("line", function (line) {
  line = line.split(" ");
  console.log(solution(line));
  rl.close();
});

let sameNum = 1;
function solution(input) {
  let answer = 0;
  let num = 0;
  for (let i = 0; i < input.length; i++) {
    if (input[i] === input[i + 1]) {
      sameNum++;
      num = input[i];
    }
  }

  if (sameNum === 3) {
    answer = 10000 + num * 1000;
  } else if (sameNum === 2) {
    answer = 1000 + num * 100;
  } else {
    let max = Math.max.apply(null, input);
    answer = max * 100;
  }
  return answer;
}

 

 

수정한 코드!! -> 성공

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

rl.on("line", function (line) {
  line = line.split(" ");
  let a = parseInt(line[0]);
  let b = parseInt(line[1]);
  let c = parseInt(line[2]);
  console.log(solution(a, b, c));
  rl.close();
});

function solution(a, b, c) {
  let answer = 0;
  if (a === b && b === c) {
    answer = 10000 + a * 1000;
  } else if (a === b && b !== c) {
    answer = 1000 + a * 100;
  } else if (b === c && c !== a) {
    answer = 1000 + b * 100;
  } else if (c === a && a !== b) {
    answer = 1000 + c * 100;
  } else {
    let max = Math.max(a, b, c);
    answer = max * 100;
  }
  return answer;
}

 

728x90
반응형