๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“‚ Base13

Context Switch๊ฐ€ ์ผ์–ด๋‚  ๋•Œ๋Š” ์™œ overhead๊ฐ€ ํด๊นŒ? ์˜๋ฌธ์ด ๋“  ์ด์œ  Context Switch ๊ฐœ๋…์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ ์•„๋ž˜์˜ ๋‚ด์šฉ์„ ์ ‘ํ–ˆ๋‹ค. User mode์—์„œ Kernel mode๋กœ ๊ฐ€๋Š” ๊ฑด Context Switch๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ overhead๊ฐ€ ์ ์€ ์ž‘์—…์ด๋‹ค. Context Switch ์—†์ด CPU ์ˆ˜ํ–‰ ์ •๋ณด ๋“ฑ context์˜ ์ผ๋ถ€๋ฅผ PCB(Process Control Block)์— ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‹ค๋งŒ, Kernel mode์—์„œ User mode๋กœ ๊ฐˆ ๋•Œ Context Switch ๋ฐœ์ƒ ์‹œ์—๋Š” ๊ทธ ๋ถ€๋‹ด์ด ํ›จ์”ฌ ํฌ๋‹ค. Cache Memory๋ฅผ flush ํ•  ๋•Œ overhead๊ฐ€ ๋งค์šฐ ํฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์™œ Context Switch๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ overhead๊ฐ€ ํฐ ๊ฒƒ์ผ๊นŒ? Context Switch๋ž€? Context Switch(๋ฌธ๋งฅ ๊ตํ™˜)๋Š” .. 2023. 9. 20.
๋ฌธ์ž์—ด์—์„œ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๋”ํ•œ ๋’ค์— ํ•ด๋‹น ๊ฐ’์„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋กœ ๋‚˜๋ˆˆ ๊ฐ’์„ ์ •์ˆ˜๋กœ ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ฌธ์ž์—ด์—์„œ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๋”ํ•œ ๋’ค์— ํ•ด๋‹น ๊ฐ’์„ (์ˆซ์ž์™€ ๊ณต๋ฐฑ์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€) ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋กœ ๋‚˜๋ˆˆ ๊ฐ’์„ ์ •์ˆ˜๋กœ ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ - ๋นˆ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์€ ๊ฒฝ์šฐ, 0์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - ์ˆซ์ž(digit)๋Š” ์—ฐ์†ํ•ด์„œ ๋“ฑ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด function numberSearch(str) { // ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ // 'Hello6 9World 2,' // ์ˆซ์ž: 6+9+2 = 17, ๋ฌธ์ž์—ด ๊ธธ์ด: 10 (์ˆซ์ž ๊ณต๋ฐฑ ์ œ์™ธ) // 17 / 10 = 1.7 -> ๋ฐ˜์˜ฌ๋ฆผํ•ด์„œ 2 // ์˜ˆ์‹œ ์ˆซ์ž๋ฅผ ์„ ์–ธ const digits = '0123456789'; // ๋งŒ์•ฝ str์ด ๋นˆ ๋ฌธ์ž์—ด์ด๋ผ๋ฉด if (str === '') { // 0์„ ๋ฆฌํ„ด return .. 2023. 4. 25.
์ œ๊ณฑ๊ทผ ๊ฐ’์„ ์†Œ์ˆ˜์  ๋‘ ์ž๋ฆฌ๊นŒ์ง€ ๋ฆฌํ„ดํ•˜๊ธฐ : feat. ๋ฐ”๋นŒ๋กœ๋‹ˆ์•„ ๋ฒ•์˜ ์ ํ™”์‹, parseInt( )์™€ Number( )์˜ ์ฐจ์ด ๐Ÿ“œ ๋ฌธ์ œ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ œ๊ณฑ๊ทผ ๊ฐ’์„ ์†Œ์ˆ˜์  ๋‘ ์ž๋ฆฌ๊นŒ์ง€ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ Math.sqrt ์‚ฌ์šฉ์€ ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด function computeSquareRoot(num) { // pseudo code // let originNum = 9; // let approxNum = originNum / 2; // while((approxNum * 2) !== originNum){ // approxNum = (approxNum + (originNum / approxNum) / 2) // } let approxNum = num / 2; while((approxNum ** 2) !== num){ if(Number((approxNum ** 2).toFixed(2)) === num) { brea.. 2023. 4. 6.
์•„์ด์†Œ๊ทธ๋žจ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ์•„์ด์†Œ๊ทธ๋žจ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„์ด์†Œ๊ทธ๋žจ(isogram)์€ ๊ฐ ์•ŒํŒŒ๋ฒณ์„ ํ•œ๋ฒˆ์”ฉ๋งŒ ์ด์šฉํ•ด์„œ ๋งŒ๋“  ๋‹จ์–ด๋‚˜ ๋ฌธ๊ตฌ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ - ๋นˆ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์€ ๊ฒฝ์šฐ, true๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - ๋Œ€์†Œ๋ฌธ์ž๋Š” ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด function isIsogram(str) { // ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์„ ์—†์• ๊ธฐ ์œ„ํ•ด ๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์ƒˆ๋กœ์šด ๋ฌธ์ž๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ณ€์ˆ˜ let newStr = str.toLowerCase(); // true์™€ false๋ฅผ ๋‚˜ํƒ€๋‚ผ์ˆ˜ ์žˆ๋Š” result๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ let result = true; // str์˜ ๊ธธ์ด๊ฐ€ 0์ด๋ฉด if(str.length === 0){ // result = true๋ฅผ ๋ฐ˜ํ™˜ return result; } for.. 2023. 4. 5.
num1์„ num2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ๋‘ ์ˆ˜(num1, num2)๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, num1์„ num2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ - ๋‚˜๋ˆ—์…ˆ(/), ๋‚˜๋จธ์ง€(%) ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ์€ ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค. - 0์€ ์–ด๋–ค ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด๋„ ๋‚˜๋จธ์ง€๊ฐ€ 0์ž…๋‹ˆ๋‹ค. - ์–ด๋–ค ์ˆ˜๋„ 0์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ 'Error: cannot divide by zero'๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด: for๋ฌธ ์‚ฌ์šฉ function modulo(num1, num2) { let result = 0; // ๋งŒ์•ฝ num2๊ฐ€ 0์ด๋ฉด if (num2 === 0) { // 'Error~'๋ฅผ ๋ฆฌํ„ด return 'Error: cannot divide by zero' } // num2 * i = num1 for (let i = 0; i < num1; i++) .. 2023. 4. 4.
๊ฐ ์š”์†Œ๋“ค์ด ๊ทธ ์ด์ „์˜ ์š”์†Œ๋“ค์˜ ํ•ฉ๋ณด๋‹ค ํฐ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ์ˆ˜๋ฅผ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ฐ ์š”์†Œ๋“ค์ด ๊ทธ ์ด์ „์˜ ์š”์†Œ๋“ค์˜ ํ•ฉ๋ณด๋‹ค ํฐ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ - boolean ํƒ€์ž…์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - arr[i]๋Š” arr[0]๋ถ€ํ„ฐ arr[i-1]๊นŒ์ง€์˜ ํ•ฉ๋ณด๋‹ค ์ปค์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด function superIncreasing(arr) { // ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • let sum = arr[0]; // 1๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•ด์ฃผ๋‹ค๊ฐ€ for (let i = 1; i < arr.length; i++) { // sum์ด ๋‹ค์Œ ์ธ๋ฑ์Šค๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด if (arr[i] 2023. 3. 31.
2์ฐจ์› ๋ฐฐ์—ด์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์˜ ์œ„์น˜์ •๋ณด๋ฅผ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ 2์ฐจ์› ๋ฐฐ์—ด(๋ฐฐ์—ด์„ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด)์„ ์ž…๋ ฅ๋ฐ›์•„ 'B'์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ - arr, arr[i]์˜ ๊ธธ์ด๋Š” ๋‹ค์–‘ํ•˜๊ฒŒ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. - ํ•ญ์ƒ ํ•œ ๊ฐœ์˜ ๋ฌธ์ž์—ด 'B'๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด function findBugInApples(arr) { // ๋ฌธ์ž์—ด์˜ ํ–‰์„ ์ˆœํšŒ for(let i = 0; i < arr.length; i++) { // ๋ฌธ์ž์—ด์˜ ์—ด์„ ์ˆœํšŒ for(let j = 0; j < arr[i].length; j++) { // ํ•ด๋‹น ํ–‰์—ด์— B๊ฐ€ ์žˆ๋‹ค๋ฉด if (arr[i][j] === 'B') { // ์ธ๋ฑ์Šค ๋ฆฌํ„ด return [i, j]; } } } } ๐Ÿ’ก ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฐœ๋… ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ (์ค‘์ฒฉ for๋ฌธ)์„ ํ™œ์šฉ for(let i =.. 2023. 3. 29.
์—ฐ์†๋œ ํ•œ์ž๋ฆฌ ํ™€์ˆ˜ ์ˆซ์ž ์‚ฌ์ด์— - ๋ฅผ ์ถ”๊ฐ€ํ•œ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ์—ฐ์†๋œ ํ•œ์ž๋ฆฌ ํ™€์ˆ˜ ์ˆซ์ž ์‚ฌ์ด์— '-'๋ฅผ ์ถ”๊ฐ€ํ•œ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ 0์€ ์ง์ˆ˜๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด: parseInt( )๋กœ ์ •์ˆ˜ ๋ฐ˜ํ™˜ function insertDash(str) { let newStr = str.charAt(0); // ๋ฌธ์ž์—ด ์ˆœํšŒ ํ›„ ์ธ๋ฑ์Šค ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๊ธฐ for(let i=1; i 2023. 3. 27.
๋ฌธ์ž์—ด์— ๋“ฑ์žฅํ•˜๋Š” ๋‘ ์นธ์˜ ๊ณต๋ฐฑ์„ ๋ชจ๋‘ ํ•œ ์นธ์˜ ๊ณต๋ฐฑ์œผ๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ํ•ด๋‹น ๋ฌธ์ž์—ด์— ๋“ฑ์žฅํ•˜๋Š” ๋‘ ์นธ์˜ ๊ณต๋ฐฑ์„ ๋ชจ๋‘ ํ•œ ์นธ์˜ ๊ณต๋ฐฑ์œผ๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ - ๋‘ ์นธ์„ ์ดˆ๊ณผํ•˜๋Š” ๊ณต๋ฐฑ์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด : ์ง์ „ ๊ณต๋ฐฑ ์—ฌ๋ถ€ ํŒ๋‹จํ•˜๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ function convertDoubleSpaceToSingle(str) { // ๋นˆ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์€ ๊ฒฝ์šฐ, ๋นˆ ๋ฌธ์ž์—ด ๋ฆฌํ„ดํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ’ ์„ ์–ธ let result = ''; // ๊ฐ ๋ฌธ์ž ์ง์ „ ๊ณต๋ฐฑ ์—ฌ๋ถ€ ํŒ๋‹จํ•˜๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ let beforeSpace = ''; // for loop๋กœ ํ•ด๋‹น ๋ฌธ์ž์—ด ๊ธธ์ด๋งŒํผ ์ˆœํšŒํ•ด์„œ for (let i = 0; i < str.length; i++) { // ์ง์ „ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ์ด๊ณ , ํ˜„์žฌ ๋ฌธ์ž๋„ ๊ณต๋ฐฑ์ธ ๊ฒฝ์šฐ (์ฆ‰, ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ๋‘ .. 2023. 3. 23.
๋ฌธ์ž์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๊ฐ€ ๋Œ€๋ฌธ์ž์ธ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ฌธ์ž์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๊ฐ€ ๋Œ€๋ฌธ์ž์ธ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ - ๋‹จ์–ด๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. - ์—ฐ์†๋œ ๊ณต๋ฐฑ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๋นˆ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์€ ๊ฒฝ์šฐ, ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด function letterCapitalize(str) { // ์ž…๋ ฅ: str // ์ถœ๋ ฅ: ๋ฌธ์ž์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋‹จ์–ด๋“ค์˜ ์ฒซ ๊ธ€์ž๊ฐ€ ๋Œ€๋ฌธ์ž๋กœ ๋œ ๋ฌธ์ž์—ด ๋ฆฌํ„ด // ๋น„์–ด์žˆ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ , ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด์„ space๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ๋‹จ์–ด๋กœ ์ž˜๋ผ, ๋ฐฐ์—ด์— ์ €์žฅ let words = str.split(' '); // ์œ„์˜ ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด ๊ธธ์ด๊นŒ์ง€ for loop๋ฅผ ๋Œ๋ ค for (let i = 0; i < words.length; i++) { // ๊ฐ .. 2023. 3. 21.
์ˆœ์„œ๊ฐ€ ๋’ค์ง‘ํžŒ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ์ˆœ์„œ๊ฐ€ ๋’ค์ง‘ํžŒ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด: for loop ํ™œ์šฉ function firstReverse(str) { // ์ž…๋ ฅ: str // ์ถœ๋ ฅ: ์ˆœ์„œ๊ฐ€ ๋’ค์ง‘ํžŒ ๋ฌธ์ž์—ด // ์ƒˆ๋กœ ์ƒ์„ฑ๋  ๋ฌธ์ž์—ด์„ ๋‹ด์„ ๋นˆ ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ let result = ''; // for loop) ๋ฐ˜๋ณต๋ฌธ์˜ ์‹œ์ž‘์ ์€ ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž์˜ ์ธ๋ฑ์Šค์ธ str.length -1์ž„ // i๊ฐ€ 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์ฝ”๋“œ๋Š” ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๊ณ , ์ด๋•Œ๋งˆ๋‹ค i์˜ ๊ฐ’์„ ์ค„์ž„ for (let i = str.length -1; i >= 0; i--) { result = result + str[i]; // or result += str[i]; } // ๋ฐ˜์ „๋œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ return result; } โœ๐Ÿป ๋˜๋‹ค.. 2023. 3. 21.
๋ฌธ์ž์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๊ธฐ ๐Ÿ“œ ๋ฌธ์ œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ฌธ์ž์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ - ๋‹จ์–ด๋Š” ๊ณต๋ฐฑ ํ•œ ์นธ์œผ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. - ์—ฐ์†๋œ ๊ณต๋ฐฑ์€ ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. - ๋นˆ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์€ ๊ฒฝ์šฐ, ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ๐Ÿป ๋‚ด ํ’€์ด function firstCharacter(str) { // ์ž…๋ ฅ: str // ์ถœ๋ ฅ: ๋ฌธ์ž์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋‹จ์–ด์˜ '์ฒซ ๊ธ€์ž'๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด // ๋นˆ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์€ ๊ฒฝ์šฐ, ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ด if (str === '') { return ''; } // ๋น„์–ด์žˆ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ , ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด์„ space๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ๋‹จ์–ด๋กœ ์ž˜๋ผ, ๋ฐฐ์—ด์— ์ €์žฅ let words = str.split(' '); let result = ''; // ๋ชจ.. 2023. 3. 21.