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

[Algorithm] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.1 : ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜?

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

์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜?

๊ธธ์ด๊ฐ€ n์ด๊ณ , "์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜...."์™€ ๊ฐ™์€ ํŒจํ„ด์„ ์œ ์ง€ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด n์ด 4์ด๋ฉด "์ˆ˜๋ฐ•์ˆ˜๋ฐ•"์„ ๋ฆฌํ„ดํ•˜๊ณ  3์ด๋ผ๋ฉด "์ˆ˜๋ฐ•์ˆ˜"๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์ œํ•œ ์กฐ๊ฑด

* n์€ ๊ธธ์ด 10,000์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.


์ž…์ถœ๋ ฅ ์˜ˆ

n return
3 "์ˆ˜๋ฐ•์ˆ˜"
4 "์ˆ˜๋ฐ•์ˆ˜๋ฐ•"

๋ฌธ์ œ ํ’€์ด

for๋ฌธ์„ ์ด์šฉํ•ด์„œ i๋ฅผ n๋งŒํผ ์ฆ๊ฐ€์‹œ์ผœ์ค€ ๋‹ค์Œ answer์— i๊ฐ€ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆ˜๋“ค์„ ๊ณ„์†ํ•ด์„œ ์ €์žฅ์‹œ์ผœ์ค€๋‹ค. n์ด 3์ผ ๊ฒฝ์šฐ [1=์ˆ˜/2=๋ฐ•/3=์ˆ˜]๋กœ "์ˆ˜๋ฐ•์ˆ˜"๊ฐ€ ์ถœ๋ ฅ๋˜๊ณ , 4์ผ ๊ฒฝ์šฐ "์ˆ˜๋ฐ•์ˆ˜๋ฐ•"์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

function solution(n) {
    let answer = '';
    for(i=1; i<= n; i++){
        answer += i % 2 == 0 ? "๋ฐ•" : "์ˆ˜";
    }
    return answer;
}

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

์ถœ์ฒ˜ : ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ

repeat ๋ฉ”์†Œ๋“œ๋กœ "์ˆ˜๋ฐ•"์„ n๋งŒํผ ๋ฐ˜๋ณต์‹œํ‚ค๊ณ  slice(0,n)์„ ํ†ตํ•ด ์ถœ๋ ฅ์‹œํ‚ฌ ๋ถ€๋ถ„์„ ์ถœ๋ ฅํ•œ๋‹ค. n์ด 3์ผ ๊ฒฝ์šฐ waterMelon์—๋Š” "์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•"์ด ์ €์žฅ๋˜๊ณ , slice(0,3)์œผ๋กœ ์ตœ์ข…์ ์œผ๋กœ "์ˆ˜๋ฐ•์ˆ˜"๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. n์ด 4๋ฉด waterMelon์—๋Š” "์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•"์ด ์ €์žฅ๋˜๊ณ , slice(0,4)๋กœ ์ตœ์ข…์ ์œผ๋กœ "์ˆ˜๋ฐ•์ˆ˜๋ฐ•"์ด ์ถœ๋ ฅ๋จ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๋ณธ ๊ฐ€์žฅ ์‹ฌํ”Œํ•œ ํ’€์ด ๋ฐฉ์‹.

const waterMelon = n => "์ˆ˜๋ฐ•".repeat(n).slice(0,n);

console.log("n์ด 3์ธ ๊ฒฝ์šฐ: "+ waterMelon(3))
console.log("n์ด 4์ธ ๊ฒฝ์šฐ: "+ waterMelon(4))
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

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