๐Ÿ•น๏ธ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/์ฝ”๋“œํŠธ๋ฆฌ

[์ฝ”๋“œํŠธ๋ฆฌ/JS] โœ… A/B ์ถœ๋ ฅ

Genie_. 2025. 1. 20. 18:59
728x90
๋ฐ˜์‘ํ˜•

https://www.codetree.ai/ko/trails/complete/curated-cards/challenge-a-divide-b/description

์œ ๋ฃŒ๋กœ ์ „ํ™˜๋˜์–ด, ๋ฌธ์ œ๊ฐ€ ๋ณด์ด์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

A/B ์ถœ๋ ฅ ์„ค๋ช… - ์ฝ”๋“œํŠธ๋ฆฌ

A/B ์ถœ๋ ฅ ๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ผผ๊ผผํžˆ ํ™•์ธํ•˜๊ณ , ํšจ๊ณผ์ ์ธ ํ’€์ด ์ „๋žต์„ ์ˆ˜๋ฆฝํ•ด๋ณด์„ธ์š”.

www.codetree.ai


๋ฌธ์ œ

๋‘ ์ •์ˆ˜ A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์‹ค์ˆ˜ A/B์˜ ๊ฐ’์„ ์†Œ์ˆ˜์  21๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋‚ด๋ฆผํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ผ

 


์˜ค๋‹ต๋…ธํŠธ

- toFixed()๋ผ๋Š” ์†Œ์ˆ˜์  ๋งž์ถฐ ์ถœ๋ ฅํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ๊ณ ์žˆ์–ด์„œ, ์ด๊ฑธ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, toFixed()๋Š” ๋ฐ˜์˜ฌ๋ฆผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฉ”์„œ๋“œ์˜€๋‹ค.

 

๋ฌธ์ œ hint์— ๋‚˜์™€์žˆ๋“ฏ์ด, format ํ•จ์ˆ˜ ๋งŒ์œผ๋กœ๋Š” ์†Œ์ˆ˜์  20๋ฒˆ์งธ๊นŒ์ง€์˜ ๊ฐ’์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ‘๊ทผํ•ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1 / 7์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์„ ์ƒ๊ฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1 / 7 = 0.142857143...

์—ฌ๊ธฐ์„œ ์†Œ์ˆ˜์ ์„ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด, ๋‚˜๋จธ์ง€์— 10์„ ๊ณฑํ•œ ๊ฐ’์„ 7๋กœ ๋‚˜๋ˆด์„ ๋•Œ์˜ ๋ชซ์„ ์ˆœ์„œ๋Œ€๋กœ ์ ๋Š” ๊ฒƒ์„ ๊ณ„์† ๋ฐ˜๋ณตํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

1 * 10์„ 7๋กœ ๋‚˜๋ˆด์„ ๋•Œ์˜ ๋ชซ์€ 1์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋‚˜๋จธ์ง€๋Š” 3์ด ๋ฉ๋‹ˆ๋‹ค.  
3 * 10์„ 7๋กœ ๋‚˜๋ˆด์„ ๋•Œ์˜ ๋ชซ์€ 4์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋‚˜๋จธ์ง€๋Š” 2๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.  
2 * 10์„ 7๋กœ ๋‚˜๋ˆด์„ ๋•Œ์˜ ๋ชซ์€ 2์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋‚˜๋จธ์ง€๋Š” 6์ด ๋ฉ๋‹ˆ๋‹ค.  
6 * 10์„ 7๋กœ ๋‚˜๋ˆด์„ ๋•Œ์˜ ๋ชซ์€ 8์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋‚˜๋จธ์ง€๋Š” 4๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.  
...

์ข€ ๋” ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋กœ, 7 / 8์ด ์™œ 0.875์ด ๋‚˜์˜ค๋Š”์ง€๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

7 * 10์„ 8๋กœ ๋‚˜๋ˆด์„ ๋•Œ์˜ ๋ชซ์€ 8์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋‚˜๋จธ์ง€๋Š” 6์ด ๋ฉ๋‹ˆ๋‹ค.  
6 * 10์„ 8๋กœ ๋‚˜๋ˆด์„ ๋•Œ์˜ ๋ชซ์€ 7์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋‚˜๋จธ์ง€๋Š” 4๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.  
4 * 10์„ 8๋กœ ๋‚˜๋ˆด์„ ๋•Œ์˜ ๋ชซ์€ 5์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋‚˜๋จธ์ง€๋Š” 0์ด ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‚˜๋ˆ—์…ˆ์ด ๋๋‚ฉ๋‹ˆ๋‹ค.

 

 

 

- ๋ฐฉ๋ฒ•์ด์ง์ ‘ ๋‚˜๋จธ์ง€๋ฅผ ์ถ”์ ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์žˆ๋‹ค, ์ƒ๊ฐ๋ณด๋‹ค ์ฝ์–ด๋„ ๋ณต์žกํ•ด์„œ ๋ณต์Šต์œผ๋กœ ํ•˜๋ฃจ ํ•œ๋ฒˆ์”ฉ 3์ผ๊ฐ„ ๊ณ„์† ํ’€์–ด๋ณด๋ ค๊ณ ํ•œ๋‹ค.


https://geniebox.tistory.com/221

 

[JS] Math.floor()๋ž€?

๐Ÿ“š Math.floor()1. Math.floor()๋ž€?Math.floor()๋Š” ์†Œ์ˆ˜์ ์„ ๋ฒ„๋ฆฌ๊ณ  ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด “๋‚ด๋ฆผ”๋œ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, 3.9๋ฅผ Math.floor()์— ๋„ฃ์œผ๋ฉด 3์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.3.9๋ฅผ ๋„ฃ์œผ๋ฉด -4๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.๋‚ด

geniebox.tistory.com

๋‚ด๋ฆผ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์–ด์„œ ๊ฐ€์ ธ์™”๋‹ค.


์ •๋‹ต

// ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ž…๋ ฅ
const fs = require("fs");
let input = fs.readFileSync(0).toString().trim().split(" ");
let a = Number(input[0]);
let b = Number(input[1]);

let result = "";
// ์ •์ˆ˜ ๋ถ€๋ถ„์„ ๋จผ์ € ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
result += parseInt(a / b) + ".";


// a๋ฅผ b๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์‹œ์ž‘์œผ๋กœ
// ์†Œ์ˆ˜์  ์ž๋ฆฌ๋ฅผ ํ•˜๋‚˜์”ฉ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
a %= b;
for (let i = 0; i < 20; i++) {
    // ๋‚˜๋จธ์ง€์— 10 ๊ณฑํ•œ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ
    // b๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋–„์˜ ๋ชซ์„ ๊ตฌํ•ด์ค๋‹ˆ๋‹ค.
    a *= 10;
    result += parseInt(a / b);

    // a๋ฅผ b๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ฒŒ์† ๊ฐฑ์‹ ํ•ด์ค๋‹ˆ๋‹ค.
    a %= b;
}

// ์ถœ๋ ฅ
console.log(result);

 

728x90
๋ฐ˜์‘ํ˜•