๐Ÿ“… TIL #14

๋ฐ˜๋ณต๋ฌธ



๋ฐ˜๋ณต๋ฌธ์€ ์ •๋ง ์…€ ์ˆ˜ ์—†์„ ์ •๋„๋กœ ๋ณต์Šต์„ ๋งŽ์ด ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.
์•„๋Š” ๋‚ด์šฉ๋„ ๋˜ ํ’€๊ณ , ๋ชจ๋ฅด๋Š” ๋‚ด์šฉ์€ ๊ทธ๊ฑฐ์— ๋ช‡ ์‹ญ๋ฒˆ์€ ๋” ํ’€์–ด๋ณด๊ณ  ํ•  ์ •๋„์˜€๋‹ค...
์˜ค๋Š˜์€ ์ด๋ฒˆ์ฃผ ์ค‘์—์„œ ๋ฐ˜๋ณต๋ฌธ์ด ํ•ต์‹ฌ๋‚ด์šฉ์ด์˜€๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ ๋” ๋ณต์Šตํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
๋‚ด TIL์—์„œ ๋งˆ์ง€๋ง‰ ๋ฐ˜๋ณต๋ฌธ ๋ธ”๋กœ๊น…์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.


๋ฐ˜๋ณต๋ฌธ ๊ธฐ์ดˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๐Ÿ‘‰ while์„ ์‚ฌ์šฉํ•ด์„œ ํ™€์ˆ˜ ๋ฐ˜๋ณตํ•˜๊ธฐ

  • ์ฃผ์˜์‚ฌํ•ญ : String ํƒ€์ž…์œผ๋กœ ๋ฆฌํ„ด

  • ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

let output = makeOddDigits(3);
console.log(output); // --> "135"

output = makeOddDigits(5);
console.log(output); // --> "13579"
  • pseudocode(์ˆ˜๋„์ฝ”๋“œ)
  1. ๋ฌธ์ž์—ด ์ˆซ์ž๋ฅผ ๋„ฃ์–ด ์ค„ ๋นˆ ๋ฌธ์ž์—ด ํ• ๋‹น
  2. num์˜ ์ˆซ์ž๋งŒํผ ๋ฐ˜๋ณต๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ count๋ฅผ ํ•œ๋‹ค.
  3. ํ™€์ˆ˜์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•ด i๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
  4. ํ™€์ˆ˜์ด๋ฉด ๋นˆ ๋ฌธ์ž์—ด์— ๋„ฃ์–ด์ค€๋‹ค.
  5. ๋นˆ ๋ฌธ์ž์—ด ๋ฆฌํ„ด
let result = "";
let count = 1; // num์˜ ์ˆซ์ž๊ฐ€ count์ด๊ธฐ ๋•Œ๋ฌธ์—

let i = 1;
while (count <= num) {
    result += i;
    i += 2; // += 2 ๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ํ™€์ˆ˜๋งŒ ์ž…๋ ฅ๋œ๋‹ค.

    count++;
}
return result;



๐Ÿ‘‰ ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด์„œ repeat() ๊ตฌํ˜„

ํŠน์ • ๋ฌธ์ž(from)๊ฐ€ ๋‹ค๋ฅธ ๋ฌธ์ž (to)๋กœ ๋ฐ”๋€ ๋ฌธ์ž์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•œ๋‹ค.

repeat() ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

  • ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ
let output = replaceAll("hekko", "k", "l");
console.log(output); // --> 'hello'
  • pseudocode(์ˆ˜๋„์ฝ”๋“œ)
  1. ๊ฐ’์„ ์ €์žฅํ•  ๋นˆ ๋ฌธ์ž์—ด ํ• ๋‹น
  2. ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ํŠน์ • ๋ฌธ์ž๋ฅผ ๋งŒ๋‚˜๋ฉด ๋นˆ ๋ฌธ์ž์—ด์— ๋‹ค๋ฅธ ๋ฌธ์ž๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.
  3. ๊ทธ๋ ‡์ง€์•Š์œผ๋ฉด, ์ผ๋ฐ˜ ๋ฌธ์ž๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.
  4. ๋นˆ ๋ฌธ์ž์—ด ๋ฆฌํ„ด
let result = "";

for (let i = 0; i < str.length; i++) {
    if (str[i] === from) {
        result += to;
    } else {
        result += str[i];
    }
}
return result;



๐Ÿ‘‰ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ž์—ด ๋ฐ˜๋ณต

๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ํ•ด๋‹น ๋ฌธ์ž์—ด์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•œ ๊ธ€์ž์”ฉ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

  • ์ฃผ์˜์‚ฌํ•ญ :
  1. ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉ
  2. str.slice, str.substr, str.substring ์‚ฌ์šฉ ๊ธˆ์ง€
  • ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ
let output = makeMarginalString("abc");
console.log(output); // --> 'aababc'

output = makeMarginalString("Useong");
console.log(output); // --> 'UUsUseUseoUseonUseong'

output = makeMarginalString("");
console.log(output); // --> ''
  • pseudocode(์ˆ˜๋„์ฝ”๋“œ)
  1. ๊ฐ’์„ ์ €์žฅํ•ด ์ค„ ๋นˆ ๋ฌธ์ž์—ด ํ• ๋‹น
  2. ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ˆœํšŒ
  3. ๋‘๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์€ i๊นŒ์ง€ ์ˆœํšŒํ•œ๋‹ค. (์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์˜ ํŠน์„ฑ์„ ํ™œ์šฉ)
  4. ๋นˆ ๋ฌธ์ž์—ด์—๋Š” j๋งŒ ๊ฐ’์„ ๋„ฃ์–ด์ค€๋‹ค.
  5. ๊ฐ’์„ ์ €์žฅํ–ˆ๋˜ ๋ฌธ์ž์—ด ๋ฆฌํ„ด
let result = "";

for (let i = 0; i < str.length; i++) {
    for (let j = 0; j <= i; j++) {
        result += str[j];
    }
}
return result;


์ด๋กœ์จ ๋‚ด ๋งˆ์ง€๋ง‰ ๋ฐ˜๋ณต๋ฌธ ๋ธ”๋กœ๊น…์€ ๋์ด ๋‚ฌ๋‹ค!! โœŒ



๐Ÿ‘Š ๋‚ด์ผ์˜ TIW(today I Will)

(์ฃผ๋ง๋™์•ˆ) ์ด๋ฒˆ์ฃผ ๋ฐฐ์šด ๋‚ด์šฉ ์ค‘์— ๋ถ€์กฑํ•œ ๋ถ€๋ถ„ ์ฐพ์•„๋ณด๊ธฐ!