[백준] 2480번 : 주사위 세개 (🥉브론즈 4) (JavaScript)

2023. 1. 21. 00:38·◼ PS Note/백준
반응형

문제 바로 가기

 

2480번: 주사위 세개

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

www.acmicpc.net

 


풀이

  • 사용 언어 : JavaScript
  • 풀이한 날짜 : 2022-12-12
const fs = require("fs");
// const input = fs.readFileSync("./input.txt", "utf8");
const input = fs.readFileSync("dev/stdin", "utf8");

let inputTestCase = input.split(" ");
inputTestCase = inputTestCase.map((item) => parseInt(item));

function solution(inputTestCase) {
  const [first, second, third] = inputTestCase;
  let prize = 0;

  if (first === second && second === third) {
    prize = 10000 + first * 1000;
  } else if (first === second || first === third) {
    prize = 1000 + first * 100;
  } else if (second === third) {
    prize = 1000 + second * 100;
  } else {
    prize = Math.max(...inputTestCase) * 100;
  }

  console.log(prize);
}

solution(inputTestCase);

 

풀이 로직

  • 입력값을 나누어 각각의 변수에 저장한다.
  • 문제의 조건에 따라 조건식을 작성하여 각각의 경우에 따라 받게 될 상금을 계산한다.
    • 2~3번 조건은 조건식으로 작성할 때 여러 경우의 수가 나올 수 있으므로 1번 조건부터 우선 계산하여 처리한다.
    • 2번 조건은 '같은 눈'의 대상이 몇 번째 주사위 눈인가에 따라 케이스가 또 나눠질 수 있으므로 분기 처리가 더 필요하다.
    • (나는 조건문 in 조건문 구조를 피하기 위해 바깥쪽에 조건을 하나 더 추가하였다.)
    • 마지막 3번 조건은 Math.max() 메소드를 활용하여 계산을 간소화하였다.

 

문제 접근 과정 및 느낀점

  • 조건식을 얼마나 간단하고 깔끔하게 작성할 것인가가 이 문제 풀이의 핵심인 것 같아 오랜 시간 고민하였다. 또한 외부 코드를 참고하여 더 깔끔한 코드를 작성하려고 노력했다.

 

반응형

'◼ PS Note > 백준' 카테고리의 다른 글

[백준] 1652번 : 누울 자리를 찾아라 (🥉브론즈 1) (JavaScript)  (0) 2023.01.21
[백준] 25304번 : 영수증 (🥉브론즈 5) (JavaScript)  (2) 2023.01.21
[백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)  (2) 2023.01.21
[백준] 1085번 : 직사각형에서 탈출 (🥉브론즈 3) (Python)  (0) 2023.01.21
[백준] 1152번 : 단어의 개수 (🥉브론즈 2) (Python)  (0) 2023.01.21
'◼ PS Note/백준' 카테고리의 다른 글
  • [백준] 1652번 : 누울 자리를 찾아라 (🥉브론즈 1) (JavaScript)
  • [백준] 25304번 : 영수증 (🥉브론즈 5) (JavaScript)
  • [백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)
  • [백준] 1085번 : 직사각형에서 탈출 (🥉브론즈 3) (Python)
SangYoonLee (SYL)
SangYoonLee (SYL)
Slow, But Steady Wins The Race 😎
    반응형
  • SangYoonLee (SYL)
    ◆ Slow, But Steady ◆
    SangYoonLee (SYL)
  • 전체
    오늘
    어제
    • ◻ 전체 글 수 : (132)
      • ✪ 취미, 경험 회고 및 일상 (26)
        • [취미] Room Escape (2)
        • [회고] IT 관련 경험 회고 (18)
        • [일상] 일상 생각 (4)
        • [일상] 독후감 (1)
      • ◼ FrontEnd (30)
        • Web & HTML, CSS (9)
        • JavaScript (4)
        • TypeScript (1)
        • ReactJS (16)
      • ◼ CS (3)
        • 자료구조 & 알고리즘 (1)
        • 컴퓨터 구조 (1)
        • 운영체제 (1)
      • ◼ PS Note (40)
        • 백준 (38)
        • 프로그래머스 (2)
      • ◼ IT Etc. (33)
        • (Until 2021) (21)
        • Python (6)
        • C | C# | C++ (1)
        • Git (1)
        • Unity (4)
        • Game Dev. (0)
  • 블로그 메뉴

    • 홈
    • 💻 GitHub
    • 🟢 Velog
    • 🧩 온라인 방탈출 출시 작품 모음
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    소수 구하기
    1929
    JavaScript
    리엑트
    미궁 게임
    후기
    더라비린스
    주간 회고
    pygame
    코딩 일기
    unity
    Python
    C++
    방탈출고사
    CodeSoom
    Cpp
    React
    wecode
    유니티
    Component
    프로그래머스
    위코드
    프로젝트
    알고리즘
    관심사의 분리
    파이썬
    개인 프로젝트
    회고
    백준
    코드숨
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
SangYoonLee (SYL)
[백준] 2480번 : 주사위 세개 (🥉브론즈 4) (JavaScript)
상단으로

티스토리툴바