[Day 7] ๐Ÿ”ฅ ๋ฌธ์ž์—ด, ์กฐ๊ฑด๋ฌธ, ์ˆ˜ํ•™, ๋ฐ˜๋ณต๋ฌธ

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

๐Ÿ”ฅ Programmers

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

1. ํŠน์ • ๋ฌธ์ž ์ œ๊ฑฐํ•˜๊ธฐ

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

  • ๋ฌธ์ž์—ด my_string๊ณผ ๋ฌธ์ž letter์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. my_string์—์„œ letter๋ฅผ ์ œ๊ฑฐํ•œ ๋ฌธ์ž์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

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

  • 1 โ‰ค my_string์˜ ๊ธธ์ด โ‰ค 100
  • letter์€ ๊ธธ์ด๊ฐ€ 1์ธ ์˜๋ฌธ์ž์ž…๋‹ˆ๋‹ค.
  • my_string๊ณผ letter์€ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

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

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    "abcdef" ์—์„œ "f"๋ฅผ ์ œ๊ฑฐํ•œ "abcde"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    "BCBdbe" ์—์„œ "B"๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ "Cdbe"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ–๏ธ solution.js

function solution(my_string, letter) {
  var answer = '';
  let cnt = 0;
  while (cnt < my_string.length) {
    if (my_string[cnt] !== letter) {
      answer += my_string[cnt]
    }
    cnt += 1;
  }
  return answer;
}

2. ๊ฐ๋„๊ธฐ

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

  • ๊ฐ์—์„œ 0๋„ ์ดˆ๊ณผ 90๋„ ๋ฏธ๋งŒ์€ ์˜ˆ๊ฐ, 90๋„๋Š” ์ง๊ฐ, 90๋„ ์ดˆ๊ณผ 180๋„ ๋ฏธ๋งŒ์€ ๋‘”๊ฐ 180๋„๋Š” ํ‰๊ฐ์œผ๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ angle์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์˜ˆ๊ฐ์ผ ๋•Œ 1, ์ง๊ฐ์ผ ๋•Œ 2, ๋‘”๊ฐ์ผ ๋•Œ 3, ํ‰๊ฐ์ผ ๋•Œ 4๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์˜ˆ๊ฐ : 0 < angle < 90
์ง๊ฐ : angle = 90
๋‘”๊ฐ : 90 < angle < 180
ํ‰๊ฐ : angle = 180

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

  • 0 < angle โ‰ค 180
  • angle์€ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

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

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    angle์ด 70์ด๋ฏ€๋กœ ์˜ˆ๊ฐ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1์„ returnํ•ฉ๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    angle์ด 91์ด๋ฏ€๋กœ ๋‘”๊ฐ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 3์„ returnํ•ฉ๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    angle์ด 180์ด๋ฏ€๋กœ ํ‰๊ฐ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 4๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ–๏ธ solution.js

function solution(angle) {
  var answer = 0;
  if (angle > 0 && angle < 90) {
    return 1;
  }
  if (angle === 90) {
    return 2;
  }
  if (angle > 90 && angle < 180) {
    return 3;
  }
  return 4;
}

3. ์–‘๊ผฌ์น˜

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

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

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

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

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

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

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

๐Ÿ–๏ธ solution.js

// 1. n * 12000
// 2. k * 2000

function solution(n, k) {
  let lambPrice = n * 12000;
  let drinkPrice = k * 2000;
  let discountNumber = Math.floor(n / 10) * 2000;
  return lambPrice + drinkPrice - discountNumber;
}

4. ์ง์ˆ˜์˜ ํ•ฉ

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

  • ์ •์ˆ˜ n์ด ์ฃผ์–ด์งˆ ๋•Œ, n์ดํ•˜์˜ ์ง์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

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

  • 0 < n โ‰ค 1000

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

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    n์ด 10์ด๋ฏ€๋กœ 2 + 4 + 6 + 8 + 10 = 30์„ return ํ•ฉ๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    n์ด 4์ด๋ฏ€๋กœ 2 + 4 = 6์„ return ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ–๏ธ solution.js

function solution(n) {
  let cnt = 1;
  let sum = 0;
  while (cnt <= n) {
    if (cnt % 2 === 0) {
      sum += cnt;
    }
    cnt += 1;
  }
  return sum;
}
profile
โœง ์ค‘์š”ํ•œ๊ฑด ๊บพ์ด์ง€ ์•Š๋Š” ๋งˆ์Œ ๐Ÿ”ฅ แ•™(โ€ขำฉโ€ข)แ•ค ๐Ÿ”ฅ

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