[Day 5] ๐Ÿ”ฅ์ž…๋ฌธ - ์ˆ˜ํ•™, ๋ฐฐ์—ด

nanaยท2023๋…„ 1์›” 13์ผ
0

๐Ÿ”ฅ Programmers

๋ชฉ๋ก ๋ณด๊ธฐ
5/10
post-thumbnail

1. ์˜ท๊ฐ€๊ฒŒ ํ• ์ธ ๋ฐ›๊ธฐ

๐Ÿ’Ÿ ๋ฌธ์ œ ์„ค๋ช…

  • ๋จธ์“ฑ์ด๋„ค ์˜ท๊ฐ€๊ฒŒ๋Š” 10๋งŒ ์› ์ด์ƒ ์‚ฌ๋ฉด 5%, 30๋งŒ ์› ์ด์ƒ ์‚ฌ๋ฉด 10%, 50๋งŒ ์› ์ด์ƒ ์‚ฌ๋ฉด 20%๋ฅผ ํ• ์ธํ•ด์ค๋‹ˆ๋‹ค.
    ๊ตฌ๋งคํ•œ ์˜ท์˜ ๊ฐ€๊ฒฉ price๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ง€๋ถˆํ•ด์•ผ ํ•  ๊ธˆ์•ก์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

๐Ÿ’Ÿ ์ œํ•œ์‚ฌํ•ญ

  • 10 โ‰ค price โ‰ค 1,000,000
  • price๋Š” 10์› ๋‹จ์œ„๋กœ(1์˜ ์ž๋ฆฌ๊ฐ€ 0) ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
    ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ฆฐ ์ •์ˆ˜๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

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

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    150,000์›์—์„œ 5%๋ฅผ ํ• ์ธํ•œ 142,500์›์„ return ํ•ฉ๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    580,000์›์—์„œ 20%๋ฅผ ํ• ์ธํ•œ 464,000์›์„ return ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ–๏ธ solution.js

function solution(price) {
  if (price >= 500000) {
    return Math.floor(price * 0.80)
  }
  if (price >= 300000) {
    return Math.floor(price * 0.90);
  }
  if (price >= 100000) {
    return Math.floor(price * 0.95);
  }
  return price;
}

2. ์•„์ด์Šค ์•„๋ฉ”๋ฆฌ์นด๋…ธ

๐Ÿ’Ÿ ๋ฌธ์ œ ์„ค๋ช…

  • ๋จธ์“ฑ์ด๋Š” ์ถ”์šด ๋‚ ์—๋„ ์•„์ด์Šค ์•„๋ฉ”๋ฆฌ์นด๋…ธ๋งŒ ๋งˆ์‹ญ๋‹ˆ๋‹ค. ์•„์ด์Šค ์•„๋ฉ”๋ฆฌ์นด๋…ธ๋Š” ํ•œ์ž”์— 5,500์›์ž…๋‹ˆ๋‹ค. ๋จธ์“ฑ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ˆ money๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋จธ์“ฑ์ด๊ฐ€ ์ตœ๋Œ€๋กœ ๋งˆ์‹ค ์ˆ˜ ์žˆ๋Š” ์•„๋ฉ”๋ฆฌ์นด๋…ธ์˜ ์ž” ์ˆ˜์™€ ๋‚จ๋Š” ๋ˆ์„ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด์€ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

๐Ÿ’Ÿ ์ œํ•œ์‚ฌํ•ญ

  • 0 < money โ‰ค 1,000,000

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

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    5,500์›์€ ์•„์ด์Šค ์•„๋ฉ”๋ฆฌ์นด๋…ธ ํ•œ ์ž”์„ ์‚ด ์ˆ˜ ์žˆ๊ณ  ์ž”๋ˆ์€ 0์›์ž…๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    15,000์›์€ ์•„์ด์Šค ์•„๋ฉ”๋ฆฌ์นด๋…ธ ๋‘ ์ž”์„ ์‚ด ์ˆ˜ ์žˆ๊ณ  ์ž”๋ˆ์€ 4,000์›์ž…๋‹ˆ๋‹ค.

๐Ÿ–๏ธ solution.js

function solution(money) {
  const coffeeCnt = Math.floor(money / 5500);
  const moneyLeft = money % 5500;
  return [coffeeCnt, moneyLeft];
}

3. ๋‚˜์ด ์ถœ๋ ฅ

๐Ÿ’Ÿ ๋ฌธ์ œ ์„ค๋ช…

  • ๋จธ์“ฑ์ด๋Š” 40์‚ด์ธ ์„ ์ƒ๋‹˜์ด ๋ช‡ ๋…„๋„์— ํƒœ์–ด๋‚ฌ๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๋‚˜์ด age๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, 2022๋…„์„ ๊ธฐ์ค€ ์ถœ์ƒ ์—ฐ๋„๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐Ÿ’Ÿ ์ œํ•œ์‚ฌํ•ญ

  • 0 < age โ‰ค 120
  • ๋‚˜์ด๋Š” ํƒœ์–ด๋‚œ ์—ฐ๋„์— 1์‚ด์ด๋ฉฐ 1๋…„๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

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

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    2022๋…„ ๊ธฐ์ค€ 40์‚ด์ด๋ฏ€๋กœ 1983๋…„์ƒ์ž…๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    2022๋…„ ๊ธฐ์ค€ 23์‚ด์ด๋ฏ€๋กœ 2000๋…„์ƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ–๏ธ solution.js

// 1. 40์‚ด โ†’ 2022 - 40 + 1 = 1983
function solution(age) {
  return 2022 - age + 1;
}

// ๐Ÿ“ ๋…„๋„ ์ถœ๋ ฅ ํ•จ์ˆ˜
function solution(age) {
  return new Date().getFullYear() - age + 1;
}

๐Ÿ“Ž Date() : ์‹œ๊ฐ„์˜ ํ•œ ์ ์„ ํ”Œ๋žซํผ์— ์ข…์†๋˜์ง€ ์•Š๋Š” ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๐Ÿ“Ž getFullYear() : ์ฃผ์–ด์ง„ ๋‚ ์งœ์˜ ํ˜„์ง€ ์‹œ๊ฐ„ ๊ธฐ์ค€ ์—ฐ๋„๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.


4. ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ

๐Ÿ’Ÿ ๋ฌธ์ œ ์„ค๋ช…

  • ์ •์ˆ˜๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ฐฐ์—ด num_list๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. num_list์˜ ์›์†Œ์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐Ÿ’Ÿ ์ œํ•œ์‚ฌํ•ญ

  • 1 โ‰ค num_list์˜ ๊ธธ์ด โ‰ค 1,000
  • 0 โ‰ค num_list์˜ ์›์†Œ โ‰ค 1,000

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

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    num_list๊ฐ€ [1, 2, 3, 4, 5]์ด๋ฏ€๋กœ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๋ฐฐ์—ด [5, 4, 3, 2, 1]์„ returnํ•ฉ๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    num_list๊ฐ€ [1, 1, 1, 1, 1, 2]์ด๋ฏ€๋กœ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๋ฐฐ์—ด [2, 1, 1, 1, 1, 1]์„ returnํ•ฉ๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #3
    num_list๊ฐ€ [1, 0, 1, 1, 1, 3, 5]์ด๋ฏ€๋กœ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๋ฐฐ์—ด [5, 3, 1, 1, 1, 0, 1]์„ returnํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ–๏ธ solution.js

// ๐Ÿ“ while
function solution(num_list) {
  let newArray = [];
  let cnt = num_list.length - 1;
    
  while (cnt >= 0) {
    newArray.push(num_list[cnt]);
    cnt -= 1;
  };
  return newArray;
}

// ๐Ÿ“ reverse() 
function solution(num_list) {
  return num_list.reverse();
}

๐Ÿ“Ž Array.reverse() : ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๋ฐ˜์ „ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋Š” ๋งˆ์ง€๋ง‰ ์š”์†Œ๊ฐ€ ๋˜๋ฉฐ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

profile
โœง ์ค‘์š”ํ•œ๊ฑด ๊บพ์ด์ง€ ์•Š๋Š” ๋งˆ์Œ ๐Ÿ”ฅ แ•™(โ€ขำฉโ€ข)แ•ค ๐Ÿ”ฅ

0๊ฐœ์˜ ๋Œ“๊ธ€