Problem ๐Ÿ’ป

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

 

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

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

๋ฌธ์ œ ์„ค๋ช…

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


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

์ž…์ถœ๋ ฅ ์˜ˆnkresult
10 3 124,000
64 6 768,000

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

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

์ž…์ถœ๋ ฅ ์˜ˆ #2

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

Approach 1 โŒ - ๋‚˜์˜ ์ดˆ๊ธฐ ์ฝ”๋“œ

class Solution {
    public int solution(int n, int k) {
       
        int totalPrice = n * 12000 + k * 2000;
        int sale = n / 10;
        int answer = totalPrice - sale;
        return answer;
    }
}

Approach 2 โญ• - ๋ณด์™„์ 

๋ฌธ์ œ๋Š” sale ๋ณ€์ˆ˜๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•˜์ง€ ์•Š์€ ๊ฒƒ์ด๋‹ค.

ํ˜„์žฌ sale ๋ณ€์ˆ˜๋Š” ์„œ๋น„์Šค๋กœ ์ œ๊ณต๋œ ์Œ๋ฃŒ์ˆ˜์˜ ๊ฐœ์ˆ˜(= n / 10)๋งŒ ๊ณ„์‚ฐํ•˜๊ณ ,

์ด๋ฅผ ์Œ๋ฃŒ์ˆ˜ ๊ฐ€๊ฒฉ๊ณผ ์—ฐ๊ณ„ํ•˜์ง€ ์•Š์•˜๋‹ค.

๋”ฐ๋ผ์„œ ์ตœ์ข… ํ• ์ธ ๊ธˆ์•ก์ด ์ž˜๋ชป ๊ณ„์‚ฐ๋œ๋‹ค.


Solution ๐Ÿ’ก

class Solution {
   public int solution(int n, int k) {
      int totalPrice = n * 12000 + k * 2000;
      int freeDrinks = n / 10;
      int discount = freeDrinks * 2000;
      
      return totalPrice - discount;
   }
}

์ฝ”๋“œ ์„ค๋ช…:

 

1. ์–‘๊ผฌ์น˜์™€ ์Œ๋ฃŒ์ˆ˜ ๊ฐ€๊ฒฉ ๊ณ„์‚ฐ:

  • n * 12000: ์–‘๊ผฌ์น˜์˜ ์ด ๋น„์šฉ.

  • k * 2000: ์Œ๋ฃŒ์ˆ˜์˜ ์ด ๋น„์šฉ.

 ์ด๋ฅผ ํ•ฉ์‚ฐํ•˜์—ฌ totalPrice๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

 

2. ์„œ๋น„์Šค ์Œ๋ฃŒ์ˆ˜ ๊ณ„์‚ฐ:

   • n / 10์„ ํ†ตํ•ด ์–‘๊ผฌ์น˜ 10์ธ๋ถ„๋‹น 1๊ฐœ์˜ ์„œ๋น„์Šค ์Œ๋ฃŒ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

 

3. ํ• ์ธ ๊ธˆ์•ก ๊ณ„์‚ฐ:

  • ์„œ๋น„์Šค๋กœ ๋ฐ›์€ ์Œ๋ฃŒ์ˆ˜์˜ ์ด ๊ฐ€๊ฒฉ์€ freeDrinks * 2000์ด๋‹ค.

4. ์ตœ์ข… ๊ณ„์‚ฐ:

  • ์ด ๊ธˆ์•ก์—์„œ ์„œ๋น„์Šค ์Œ๋ฃŒ์ˆ˜์˜ ๊ธˆ์•ก(discount)์„ ์ฐจ๊ฐํ•œ๋‹ค.


Reference ๐Ÿ“„

+ Recent posts