Problem Solution/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JS] ์–‘๊ผฌ์น˜

yuri lee 2023. 8. 25. 21:08
๋ฐ˜์‘ํ˜•

Problem Description

๋จธ์“ฑ์ด๋„ค ์–‘๊ผฌ์น˜ ๊ฐ€๊ฒŒ๋Š” 10์ธ๋ถ„์„ ๋จน์œผ๋ฉด ์Œ๋ฃŒ์ˆ˜ ํ•˜๋‚˜๋ฅผ ์„œ๋น„์Šค๋กœ ์ค๋‹ˆ๋‹ค. ์–‘๊ผฌ์น˜๋Š” 1์ธ๋ถ„์— 12,000์›, ์Œ๋ฃŒ์ˆ˜๋Š” 2,000์›์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜ n๊ณผ k๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์–‘๊ผฌ์น˜ n์ธ๋ถ„๊ณผ ์Œ๋ฃŒ์ˆ˜ k๊ฐœ๋ฅผ ๋จน์—ˆ๋‹ค๋ฉด ์ด์–ผ๋งˆ๋ฅผ ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š”์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

Restrictions

  • 0 < n < 1,000
  • n / 10 ≤ k < 1,000
  • ์„œ๋น„์Šค๋กœ ๋ฐ›์€ ์Œ๋ฃŒ์ˆ˜๋Š” ๋ชจ๋‘ ๋งˆ์‹ญ๋‹ˆ๋‹ค.

 

Input/Output Example

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1 10์ธ๋ถ„์„ ์‹œ์ผœ ์„œ๋น„์Šค๋กœ ์Œ๋ฃŒ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋ฐ›์•„ ์ด 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000์›์ž…๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #2 64์ธ๋ถ„์„ ์‹œ์ผœ ์„œ๋น„์Šค๋กœ ์Œ๋ฃŒ์ˆ˜๋ฅผ 6๊ฐœ ๋ฐ›์•„ ์ด 64 * 12000 + 6 * 2000 - 6 * 2000 =768,000์›์ž…๋‹ˆ๋‹ค.

 

My solution

function solution(n, k) {
    let answer = 0;
    answer = n * 12000 + k * 2000 
    const serviceFee = 2000 * parseInt(n/10)
    return answer - serviceFee;
}

 

Another solution

function solution(n, k) {
    k-=~~(n/10);
    if (k < 0) k = 0;
    return n*12000+k*2000;
}

ํ‹ธํŠธ ์—ฐ์‚ฐ์ž ~~๋Š” ๋น„ํŠธ NOT ์—ฐ์‚ฐ์ž๋ฅผ ๋‘ ๋ฒˆ ์‚ฌ์šฉํ•˜์—ฌ ์ˆซ์ž๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋Š” ํšจ๊ณผ๋ฅผ ๊ฐ€์ง€๋Š” JavaScript์˜ ๋น„ํŠธ ์—ฐ์‚ฐ์ž๋กœ ์†Œ์ˆ˜์  ์ดํ•˜์˜ ๊ฐ’์„ ๋ฒ„๋ฆฌ๊ณ  ์ •์ˆ˜ ๋ถ€๋ถ„๋งŒ ๋‚จ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ~~5.7์€ 5๊ฐ€ ๋˜๊ณ , ~~-3.2๋Š” -3์ด ๋ฉ๋‹ˆ๋‹ค. ๋น„ํŠธ ์—ฐ์‚ฐ์ž์˜ ์ด๋Ÿฐ ํ™œ์šฉ์€ ์ฃผ๋กœ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ์ •์ˆ˜ ๋ถ€๋ถ„๋งŒ ํ™œ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


https://school.programmers.co.kr/learn/courses/30/lessons/120830

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

๋ฐ˜์‘ํ˜•