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

[Algorithm] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.1 : ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 11. 14.
๋ฐ˜์‘ํ˜•

๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ

๋‹จ์–ด s์˜ ๊ฐ€์šด๋ฐ ๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด ๊ฐ€์šด๋ฐ ๋‘๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์ œํ•œ ์กฐ๊ฑด

โˆ™ s๋Š” ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ, 100์ดํ•˜์ธ ์ŠคํŠธ๋ง์ž…๋‹ˆ๋‹ค.


s return
"abcde" "c"
"qwer" "we"

๋ฌธ์ œ ํ’€์ด

๋ฌธ์ž์—ด์ด ๋“ค์–ด๊ฐ„ s๋ฅผ substr๋ฅผ ์ด์šฉํ•ด s์˜ ๊ธ€์ž์ˆ˜๋ฅผ 2๋กœ ๋‚˜๋ˆด์„ ๋•Œ ๋”ฑ ๋‚˜๋ˆ„์–ด์ง€๋Š” ๊ฒฝ์šฐ(=์ง์ˆ˜)์—๋Š” 2๋ฅผ, ์•„๋‹Œ ๊ฒฝ์šฐ(=ํ™€์ˆ˜) 1์„ ๋ฌธ์ž์—ด์„ 2๋กœ ๋‚˜๋ˆˆ ๊ฐ’์—์„œ 1์„ ๋บ€ ๊ฐ’์—์„œ ๋นผ๋„๋ก ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ง ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ s๊ฐ€ "abcde"์ผ ๊ฒฝ์šฐ 3-1==2์—์„œ 1๊นŒ์ง€์ด๋ฏ€๋กœ ๋‘๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ์ฒซ๋ฒˆ์งธ ์ž๋ฆฌ ์‚ฌ์ด์˜ ๊ธ€์ž์ธ 'c'๋ฅผ ๋ฐ˜ํ™˜์‹œํ‚จ๋‹ค.

function solution(s) {
    return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}

๋‹ค๋ฅธ ํ’€์ด ๋ฐฉ์‹

Math.floor๋ฅผ ์ด์šฉํ•˜์—ฌ ํ‘ธ๋Š” ๋ฐฉ์‹๋„ ์žˆ๋‹ค.

function solution(s) {
    const mid = Math.floor(s.length/2);
    return s.length %2 === 1 ? s[mid] : s[mid-1]+s[mid];
}
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.