[JavaScript] 2480 | 백준 (정렬)

유인학·2022년 5월 15일
0

[JS] Algorithm(백준)

목록 보기
21/82
post-thumbnail

📄 문제

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서
다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 

같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 
같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 
모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.  

예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다.
또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다.
3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.

3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.

⌨ 예제 입력 1

3 3 6

📺 예제 출력 1

1300

⌨ 예제 입력 2

2 2 2

📺 예제 출력 2

12000

⌨ 예제 입력 3

6 2 5

📺 예제 출력 3

600

🚩solution

이번에는 map()함수를 사용해서 num배열을 할당해 주고
그걸 또 A, B, C로 비구조화 할당을 해보자.
왜냐하면 num배열을 사용해서 sort()라는 함수를 사용할 것이기 때문이다.
sort()함수는 배열을 정렬해 주는 기능을 갖췄다.

const arr = [2, 1, 3];
arr.sort()
//[1, 2, 3] 오름차순
const input = require('fs').readFileSync('/dev/stdin').toString().split(' ');
const num = input.map((value) => Number(value));
const [A, B, C] = num;
if (A == B && B == C) console.log(10000 + A * 1000);
else if (A == B || A == C) console.log(1000 + A * 100);
else if (B == C) console.log(1000 + B * 100);
else {
  num.sort();
  console.log(num[2] * 100);
}

[정렬]
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

profile
'유'발자!

0개의 댓글