Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 1] 15 - ๊ฐ€์šด๋ฐ ๋ฌธ์ž ์ถœ๋ ฅ

_์„ฑํ˜ธ_ 2022. 9. 5. 00:08
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋ฌธ์ œ

์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด(๋ฌธ์ž์—ด)๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๊ทธ ๋‹จ์–ด์˜ ๊ฐ€์šด๋ฐ ๋ฌธ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‹จ, ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ์ง์ˆ˜์ผ ๊ฒฝ์šฐ ๊ฐ€์šด๋ฐ 2๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

๋‚˜๋Š” ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์ง€๋งŒ substring() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ๋” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์ด์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•œ๋‹ค.

 

๐Ÿ“ ํ’€์ด

// ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ
function solution(s) {
  let answer;
  const mid = Math.floor(s.length / 2);

  if (s.length % 2 === 0) answer = str[mid - 1] + str[mid];
  else answer = str[mid];

  return answer;
}

console.log(solution('study'));
// substring() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ
function solution(s) {
  let answer;
  const mid = Math.floor(s.length / 2);

  if (s.length % 2 === 1) answer = s.substring(mid, mid + 1);
  else answer = s.substring(mid - 1, mid + 1);

  return answer;
}

console.log(solution('study'));

 

๐Ÿ’ก String.prototype.substring()

String ๊ฐ์ฒด์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋กœ ๋ถ€ํ„ฐ ์ข…๋ฃŒ ์ธ๋ฑ์Šค ์ „ ๊นŒ์ง€ ๋ฌธ์ž์—ด์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค.

const str = 'SeongHo';

console.log(str.substring(1, 3));
// expected output: "eo"

1๏ธโƒฃ ๋ฒˆ์งธ ์ธ์ž - ๋ฐ˜ํ™˜ ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค

2๏ธโƒฃ ๋ฒˆ์งธ ์ธ์ž - ๋ฐ˜ํ™˜ ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค (ํฌํ•จ โŒ)

  • ๋งŒ์•ฝ 2๏ธโƒฃ ๋ฒˆ์งธ ์ธ์ž๊ฐ€ ์ƒ๋žต๋œ ๊ฒฝ์šฐ, substring() ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ๋๊นŒ์ง€ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์ถ”์ถœํ•œ๋‹ค.
  • ๋งŒ์•ฝ 1๏ธโƒฃ ๋ฒˆ์งธ ์ธ์ž์™€ 2๏ธโƒฃ ๋ฒˆ์งธ ์ธ์ž๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ, substring() ๋ฉ”์„œ๋“œ๋Š” ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ๋งŒ์•ฝ 1๏ธโƒฃ ๋ฒˆ์งธ ์ธ์ž๊ฐ€ 2๏ธโƒฃ ๋ฒˆ์งธ ์ธ์ž๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ, substring() ๋ฉ”์„œ๋“œ๋Š” ๋งˆ์น˜ ๋‘ ๊ฐœ์˜ ์ธ์ž๋ฅผ ๋ฐ”๊พผ๋“ฏ ์ž‘๋™ํ•œ๋‹ค.

 

๐Ÿ“š ์ฐธ๊ณ  ๋ฌธํ—Œ

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substring

 

String.prototype.substring() - JavaScript | MDN

substring() ๋ฉ”์†Œ๋“œ๋Š” string ๊ฐ์ฒด์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋กœ ๋ถ€ํ„ฐ ์ข…๋ฃŒ ์ธ๋ฑ์Šค ์ „ ๊นŒ์ง€ ๋ฌธ์ž์—ด์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org