반응형
문제 바로 가기
풀이
- 사용 언어 : 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 |