๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[JS] ๋ฐฑ์ค€ 1546๋ฒˆ : ํ‰๊ท 
Algorithms/Baekjoon

[JS] ๋ฐฑ์ค€ 1546๋ฒˆ : ํ‰๊ท 

2022. 4. 22. 17:48
๋ฐ˜์‘ํ˜•

 

Question

๋ฐฑ์ค€ 1546๋ฒˆ : ํ‰๊ท 

์„ธ์ค€์ด๋Š” ๊ธฐ๋ง๊ณ ์‚ฌ๋ฅผ ๋ง์ณค๋‹ค. ์„ธ์ค€์ด๋Š” ์ ์ˆ˜๋ฅผ ์กฐ์ž‘ํ•ด์„œ ์ง‘์— ๊ฐ€์ ธ๊ฐ€๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ผ๋‹จ ์„ธ์ค€์ด๋Š” ์ž๊ธฐ ์ ์ˆ˜ ์ค‘์— ์ตœ๋Œ“๊ฐ’์„ ๊ณจ๋ž๋‹ค. ์ด ๊ฐ’์„ M์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ๋ชจ๋“  ์ ์ˆ˜๋ฅผ ์ ์ˆ˜/M*100์œผ๋กœ ๊ณ ์ณค๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์„ธ์ค€์ด์˜ ์ตœ๊ณ ์ ์ด 70์ด๊ณ , ์ˆ˜ํ•™์ ์ˆ˜๊ฐ€ 50์ด์—ˆ์œผ๋ฉด ์ˆ˜ํ•™์ ์ˆ˜๋Š” 50/70*100์ด ๋˜์–ด 71.43์ ์ด ๋œ๋‹ค. ์„ธ์ค€์ด์˜ ์„ฑ์ ์„ ์œ„์˜ ๋ฐฉ๋ฒ•๋Œ€๋กœ ์ƒˆ๋กœ ๊ณ„์‚ฐํ–ˆ์„ ๋•Œ, ์ƒˆ๋กœ์šด ํ‰๊ท ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

 

1546๋ฒˆ: ํ‰๊ท 

์ฒซ์งธ ์ค„์— ์‹œํ—˜ ๋ณธ ๊ณผ๋ชฉ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’์€ 1000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋‘˜์งธ ์ค„์— ์„ธ์ค€์ด์˜ ํ˜„์žฌ ์„ฑ์ ์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜์ด๊ณ , ์ ์–ด๋„ ํ•˜๋‚˜์˜ ๊ฐ’์€ 0๋ณด

www.acmicpc.net

 

 

์ž…๋ ฅ์˜ˆ์‹œ

3
40 80 60

 

์ถœ๋ ฅ์˜ˆ์‹œ

75.0

 


 

My Code

let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');

let scoreArr = input[1].split(' ').map(Number);
let maxScroe = Math.max(...scoreArr);
let length = Number(input[0]);

let newScoreArr = [];

function makeNewScore() {
    for (let i = 0; i < length ; i ++ ) {
        newScoreArr.push((scoreArr[i]/maxScroe)*100);
    }
    const sumValue = newScoreArr.reduce((prev,curr) => prev + curr);
    return (sumValue / length).toFixed(2);
}

console.log(makeNewScore());

๋งž์•˜์Šต๋‹ˆ๋‹ค!!

 

 

 

HOW? (ํ’€์ด๋ฐฉ๋ฒ•)

1. ์ž…๋ ฅ๋ฐ›์€ ์ ์ˆ˜๋ฅผ split() ๊ณผ map()์„ ์ด์šฉํ•˜์—ฌ ์ˆซ์ž ๋ฐฐ์—ด๋กœ ๋งŒ๋“ ๋‹ค.

โ€‹2. ๋ฐฐ์—ด์ค‘์— ๊ฐ€์žฅ ํฐ ์ตœ๋Œ“๊ฐ’์„ ๋ณ€์ˆ˜ maxScore์— ํ• ๋‹นํ•œ๋‹ค.

3. ์กฐ์ž‘๋œ ์ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์˜ฌ ๋ฐฐ์—ด newScoreArr๋ฅผ ์„ ์–ธํ•œ๋‹ค. (์•„์ง์€ ๋นˆ ๋ฐฐ์—ด)

4. for๋ฌธ์„ ๋Œ๋ฉด์„œ ์กฐ์ž‘ํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ๋ฐฉ๋ฒ•๋Œ€๋กœ ๊ณ„์‚ฐ๋œ ๊ฒฐ๊ด๊ฐ’์„ newScoreArr์— push ํ•œ๋‹ค.

5. reduce()๋ฅผ ์ด์šฉํ•ด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ์ €์žฅ๋œ ์ˆซ์ž๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค.

reduce() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ฃผ์–ด์ง„ ๋ฆฌ๋“€์„œ(reducer) ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

6. ํ‰๊ท ์„ ๊ตฌํ•œ ๊ฐ’์„ toFixed๋ฅผ ํ†ตํ•ด ์†Œ์ˆ˜์  ๋‘ ์ž๋ฆฌ ์ˆซ์ž๊นŒ์ง€๋งŒ ๋‚˜ํƒ€๋‚ธ ๊ฐ’์„ return ํ•œ๋‹ค.

toFixed() ๋ฉ”์„œ๋“œ๋Š” ์ˆซ์ž๋ฅผ ๊ณ ์ • ์†Œ์ˆ˜์  ํ‘œ๊ธฐ๋ฒ•(fixed-point notation)์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

7. ๋งˆ์ง€๋ง‰์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋

 

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithms > Baekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ๋ฐฑ์ค€ 2675๋ฒˆ : ๋ฌธ์ž์—ด ๋ฐ˜๋ณต  (0) 2022.04.26
[JS] ๋ฐฑ์ค€ 1065๋ฒˆ : ํ•œ์ˆ˜  (0) 2022.04.23
[JS] ๋ฐฑ์ค€ 3052๋ฒˆ : ๋‚˜๋จธ์ง€  (0) 2022.04.20
[JS] ๋ฐฑ์ค€ 2562๋ฒˆ : ์ตœ๋Œ“๊ฐ’  (0) 2022.04.18
[JS] ๋ฐฑ์ค€ 1110๋ฒˆ : ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด  (0) 2022.04.17
    'Algorithms/Baekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JS] ๋ฐฑ์ค€ 2675๋ฒˆ : ๋ฌธ์ž์—ด ๋ฐ˜๋ณต
    • [JS] ๋ฐฑ์ค€ 1065๋ฒˆ : ํ•œ์ˆ˜
    • [JS] ๋ฐฑ์ค€ 3052๋ฒˆ : ๋‚˜๋จธ์ง€
    • [JS] ๋ฐฑ์ค€ 2562๋ฒˆ : ์ตœ๋Œ“๊ฐ’
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”