๐Ÿ’ป FE/๐Ÿ“ JS

์žฌ๊ท€์˜ ์‹ 

Roy Miller 2025. 4. 26. 13:41

function solution(arr) {
    // ์žฌ๊ท€ ํ˜ธ์ถœ์„ ์œ„ํ•œ ๋‚ด๋ถ€ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค.
    // ์ด ํ•จ์ˆ˜๋Š” ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ฐฐ์—ด์˜ ๋ถ€๋ถ„์„ ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค.
    function recursiveOR(currentArr) {
        // **๋ฒ ์ด์Šค ์ผ€์ด์Šค:** ๋งŒ์•ฝ ํ˜„์žฌ ์ฒ˜๋ฆฌํ•  ๋ฐฐ์—ด์ด ๋น„์–ด์žˆ๋‹ค๋ฉด (๊ธธ์ด๊ฐ€ 0์ด๋ผ๋ฉด)
        if (currentArr.length === 0) {
            // ๋” ์ด์ƒ OR ํ•  ๊ฒŒ ์—†์œผ๋‹ˆ 0์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์žฌ๊ท€๋ฅผ ๋ฉˆ์ถ˜๋‹ค.
            return 0;
        }

        // **์žฌ๊ท€ ์Šคํ…:**
        // 1. ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
        const firstBinaryString = currentArr[0];
        // 2. ์ฒซ ๋ฒˆ์งธ 2์ง„์ˆ˜ ๋ฌธ์ž์—ด์„ 10์ง„์ˆ˜ ์ •์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค.
        const firstDecimalValue = parseInt(firstBinaryString, 2);

        // 3. ๋ฐฐ์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ œ์™ธํ•œ '๋‚˜๋จธ์ง€' ๋ถ€๋ถ„์„ ๋งŒ๋“ ๋‹ค.
        const restOfArray = currentArr.slice(1);

        // 4. ์ฒซ ๋ฒˆ์งธ ๊ฐ’์—๋‹ค๊ฐ€ '๋‚˜๋จธ์ง€' ๋ฐฐ์—ด์„ ์žฌ๊ท€์ ์œผ๋กœ OR ์—ฐ์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋น„ํŠธ OR ํ•œ๋‹ค.
        // ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
        return firstDecimalValue | recursiveOR(restOfArray);
    }

    // solution ํ•จ์ˆ˜๋Š” ์ตœ์ดˆ ํ˜ธ์ถœ๋  ๋•Œ ์ „์ฒด ๋ฐฐ์—ด์„ ๊ฐ€์ง€๊ณ  ๋‚ด๋ถ€ ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.
    return recursiveOR(arr);
}

 

์ด ์ฝ”๋“œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์žฌ๊ท€ ํ•จ์ˆ˜์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ”์ด๋‹ค.

1. ์žฌ๊ท€ ํ•จ์ˆ˜ ๋‚ด return์˜ ์—ญํ• 

์žฌ๊ท€ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ return์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.

  • ๋ฒ ์ด์Šค ์ผ€์ด์Šค์—์„œ์˜ return:
    • ์ด return์€ ์žฌ๊ท€ ํ˜ธ์ถœ์˜ ์—ฐ์†์„ ๋ฉˆ์ถ”๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๋งŒ์•ฝ ์ด ๋ถ€๋ถ„์ด ์—†๋‹ค๋ฉด ํ•จ์ˆ˜๋Š” ์ž์‹ ์„ ๋ฌดํ•œํžˆ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜์–ด ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜๋กœ ์ด์–ด์งˆ ๊ฒƒ์ด๋‹ค.
    • ๋ฒ ์ด์Šค ์ผ€์ด์Šค๋Š” ๋ฌธ์ œ๊ฐ€ ๋” ์ด์ƒ ์ž‘๊ฒŒ ๋‚˜๋‰  ์ˆ˜ ์—†๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ด ์ƒํƒœ์—์„œ๋Š” ์žฌ๊ท€ ํ˜ธ์ถœ ์—†์ด๋„ ๋ฌธ์ œ์˜ ๋‹ต์ด '์ฆ‰์‹œ' ๊ฒฐ์ •๋œ๋‹ค.
    • ๋ฒ ์ด์Šค ์ผ€์ด์Šค์—์„œ์˜ return์€ ๊ทธ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ œ์˜ ๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์ด ๊ฐ’์€ ์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ์„ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€๋ฉฐ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” '๊ธฐ์ดˆ๊ฐ’'์ด ๋œ๋‹ค.
    • ์ œ์‹œ๋œ ์˜ˆ์‹œ ์ฝ”๋“œ์—์„œ currentArr.length === 0์ผ ๋•Œ return 0; ํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ฐ”๋กœ ๋ฒ ์ด์Šค ์ผ€์ด์Šค์˜ return์ด๋‹ค. ๋นˆ ๋ฐฐ์—ด์˜ ๋น„ํŠธ OR ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋Š” 0์ด๋ฏ€๋กœ, ์—ฌ๊ธฐ์„œ 0์„ ๋ฐ˜ํ™˜ํ•จ์œผ๋กœ์จ ์žฌ๊ท€๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ  ๊ณ„์‚ฐ์ด ์‹œ์ž‘๋˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ์žฌ๊ท€ ์Šคํ…์—์„œ์˜ return:
    • ์ด return์€ ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ ์ˆ˜ํ–‰ํ•œ ์ž‘์—… ๊ฒฐ๊ณผ์™€ ์ž๊ธฐ ์ž์‹ ์„ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ์–ป์€ '๋” ์ž‘์€ ๋ฌธ์ œ์˜ ๊ฒฐ๊ณผ'๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
    • ์ฆ‰, "๋‚˜์—๊ฒŒ ์ฃผ์–ด์ง„ ๋ฌธ์ œ ์ค‘ ๋‚ด๊ฐ€ ์ฒ˜๋ฆฌํ•  ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ์žฌ๊ท€ ํ˜ธ์ถœ๋œ ๋„ค๊ฐ€ ํ•ด๊ฒฐํ•ด์„œ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์™€๋ผ. ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜์˜ ๊ฒฐ๊ณผ์™€ ํ•ฉ์ณ์„œ ๋‚ด ์œ„์˜ ํ˜ธ์ถœ์ž์—๊ฒŒ ๋„˜๊ฒจ์ฃผ๊ฒ ๋‹ค." ์™€ ๊ฐ™์€ ์˜๋ฏธ๋‹ค.
    • ์˜ˆ์‹œ ์ฝ”๋“œ์—์„œ return firstDecimalValue | recursiveOR(restOfArray); ์ด ๋ถ€๋ถ„์ด ์žฌ๊ท€ ์Šคํ…์˜ return์ด๋‹ค. ์—ฌ๊ธฐ์„œ recursiveOR(restOfArray)๋Š” '์ž๊ธฐ ์ž์‹ ์„ ๋” ์ž‘์€ ๋ฌธ์ œ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๋ถ€๋ถ„'์ด๋ฉฐ, ์ด return์€ ํ˜„์žฌ ๋‹จ๊ณ„์˜ firstDecimalValue์™€ ์žฌ๊ท€ ํ˜ธ์ถœ์˜ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๋น„ํŠธ OR ์—ฐ์‚ฐํ•˜์—ฌ ์ƒ์œ„ ํ˜ธ์ถœ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

2. ์žฌ๊ท€ ํ•จ์ˆ˜๊ฐ€ ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹

์žฌ๊ท€ ํ•จ์ˆ˜๋Š” ์ž๊ธฐ ์ž์‹ ์˜ ํ•จ์ˆ˜ ๋ณธ๋ฌธ ์•ˆ์—์„œ ๋‹ค์‹œ ์ž๊ธฐ ์ž์‹ ์„ ํ˜ธ์ถœํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋•Œ ์ค‘์š”ํ•œ ๊ทœ์น™์ด ์žˆ๋‹ค.

  • ์ž๊ธฐ ์ž์‹ ์„ ํ˜ธ์ถœํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ฌธ์ œ์˜ ๋ฒ”์œ„๋ฅผ '์ค„์—ฌ์„œ' ๋„˜๊ฒจ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • ๋ฌธ์ œ์˜ ํฌ๊ธฐ๊ฐ€ ์ ์ง„์ ์œผ๋กœ ์ž‘์•„์ ธ์„œ ๊ฒฐ๊ตญ์—๋Š” ๋ฒ ์ด์Šค ์ผ€์ด์Šค์— ๋„๋‹ฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ๋ฌธ์ œ์˜ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฒ ์ด์Šค ์ผ€์ด์Šค์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด ๋ฌดํ•œ ์žฌ๊ท€ ํ˜ธ์ถœ์— ๋น ์ง€๊ฒŒ ๋œ๋‹ค.
  • ์˜ˆ์‹œ ์ฝ”๋“œ์—์„œ recursiveOR(restOfArray) ๋ถ€๋ถ„์ด ์ž๊ธฐ ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ๊ณณ์ด๋‹ค. ์›๋ž˜ ์ธ์ž์˜€๋˜ currentArr์—์„œ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ œ์™ธํ•œ restOfArray๋ฅผ ๋„˜๊ฒจ์คŒ์œผ๋กœ์จ, ์žฌ๊ท€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ํ•˜๋‚˜์”ฉ ์ค„์–ด๋“ค์–ด ๊ฒฐ๊ตญ ๊ธธ์ด๊ฐ€ 0์ธ ๋ฒ ์ด์Šค ์ผ€์ด์Šค์— ๋„๋‹ฌํ•˜๊ฒŒ ๋˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.

3. ๊ฒ‰์—์„œ์˜ return (์ตœ์ดˆ ํ˜ธ์ถœ ๋ถ€๋ถ„)

์žฌ๊ท€ ํ•จ์ˆ˜ ์ž์ฒด๊ฐ€ ์•„๋‹Œ, ๊ทธ ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ๋งจ ์ฒ˜์Œ ํ˜ธ์ถœํ•˜๋Š” ๋ถ€๋ถ„ (์˜ˆ์‹œ ์ฝ”๋“œ์—์„œ solution ํ•จ์ˆ˜ ์•ˆ์˜ return recursiveOR(arr);)์—์„œ์˜ return์€ ์กฐ๊ธˆ ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค.

  • ์ด return์€ "์ด์ œ๋ถ€ํ„ฐ recursiveOR ํ•จ์ˆ˜์—๊ฒŒ arr ์ „์ฒด ๋ฐฐ์—ด์„ ๊ฐ€์ง€๊ณ  ๋ฌธ์ œ๋ฅผ ํ’€๋„๋ก ์‹œํ‚ฌ ๊ฒƒ์ด๋ฉฐ, recursiveOR ํ•จ์ˆ˜๊ฐ€ ๋ชจ๋“  ์žฌ๊ท€ ํ˜ธ์ถœ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“์œผ๋ฉด, ๋‚˜๋Š” ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„์„œ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ์ด๋‹ค" ๋ผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  • ์ด๋Š” ์žฌ๊ท€ ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ return๋“ค๊ณผ ๋‹ฌ๋ฆฌ, ์žฌ๊ท€ ํ˜ธ์ถœ์˜ '์‹œ์ž‘'์„ ์•Œ๋ฆฌ๊ณ  ๊ทธ '์ตœ์ข…' ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ›์•„์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์žฌ๊ท€ ํ•จ์ˆ˜ ๋””์ž์ธ์˜ ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹

ํ›Œ๋ฅญํ•˜๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ๋ฌธ์ œ ์ •์˜๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ:
    • ์ด ํ•จ์ˆ˜๋Š” ์–ด๋–ค ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ์–ด๋–ค ์ถœ๋ ฅ์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ •์˜ํ•œ๋‹ค.
    • ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋œ ์ƒํƒœ๋Š” ์–ด๋–ค ์ƒํƒœ์ธ์ง€ ํŒŒ์•…ํ•œ๋‹ค.
  2. ๋ฒ ์ด์Šค ์ผ€์ด์Šค ์ฐพ๊ธฐ:
    • ๋ฌธ์ œ๊ฐ€ ๋” ์ด์ƒ ์ชผ๊ฐœ์ง€์ง€ ์•Š๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๊ฒฝ์šฐ, ์ฆ‰ '์ž๋ช…ํ•œ ๋‹ต'์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฐพ๋Š”๋‹ค.
    • ์ด ๋ฒ ์ด์Šค ์ผ€์ด์Šค์—์„œ๋Š” ์žฌ๊ท€ ํ˜ธ์ถœ ์—†์ด ๊ณง๋ฐ”๋กœ ๋‹ต์„ return ํ•ด์•ผ ํ•œ๋‹ค. ์ด return์ด ์žฌ๊ท€์˜ ๋์„ ์•Œ๋ฆฌ๋Š” ์‹ ํ˜ธ๋‹ค.
  3. ์žฌ๊ท€ ์Šคํ… ์„ค๊ณ„ํ•˜๊ธฐ:
    • ๋ฒ ์ด์Šค ์ผ€์ด์Šค๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ, ์ฆ‰ ๋” ํฐ ๋ฌธ์ œ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•œ๋‹ค.
    • ํ˜„์žฌ์˜ 'ํฐ ๋ฌธ์ œ'๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด '๋‚˜์™€ ๋˜‘๊ฐ™์€ ํ•จ์ˆ˜'์—๊ฒŒ '์กฐ๊ธˆ ๋” ์ž‘์€ ๋ฌธ์ œ'๋ฅผ ํ•ด๊ฒฐํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๋ฐฉ์‹์„ ์ƒ๊ฐํ•œ๋‹ค. (์ด๊ฒƒ์ด ์žฌ๊ท€์  ์‚ฌ๊ณ ๋‹ค.)
    • '๋” ์ž‘์€ ๋ฌธ์ œ'๋Š” ๋ฐ˜๋“œ์‹œ ๋ฒ ์ด์Šค ์ผ€์ด์Šค ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.
    • '๋” ์ž‘์€ ๋ฌธ์ œ์˜ ๊ฒฐ๊ณผ'๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ ํ•„์š”ํ•œ ์ถ”๊ฐ€์ ์ธ ๊ณ„์‚ฐ์ด๋‚˜ ์ž‘์—…์„ ์ •์˜ํ•œ๋‹ค.
    • ํ˜„์žฌ ๋‹จ๊ณ„์˜ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ์™€ ์žฌ๊ท€ ํ˜ธ์ถœ๋กœ ์–ป์€ '๋” ์ž‘์€ ๋ฌธ์ œ์˜ ๊ฒฐ๊ณผ'๋ฅผ ์ ์ ˆํžˆ ์กฐํ•ฉํ•˜์—ฌ return ํ•œ๋‹ค. ์ด return์ด ํ˜„์žฌ ๋‹จ๊ณ„์˜ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์œ„ ํ˜ธ์ถœ์ž์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.
  4. ํ•จ์ˆ˜ ๊ตฌ์กฐ ์žก๊ธฐ:
    • ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋ฒ ์ด์Šค ์ผ€์ด์Šค ์กฐ๊ฑด์„ ์ฒดํฌํ•˜๋Š” if ๋ฌธ์„ ๋ฐฐ์น˜ํ•˜๊ณ , ๋ฒ ์ด์Šค ์ผ€์ด์Šค์ผ ๊ฒฝ์šฐ ๋ฐ”๋กœ return ํ•˜๋„๋ก ํ•œ๋‹ค.
    • ๋ฒ ์ด์Šค ์ผ€์ด์Šค๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ, ์žฌ๊ท€ ์Šคํ… ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ํ•„์š”ํ•œ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ž๊ธฐ ์ž์‹ ์„ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•œ ํ›„, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ˜„์žฌ ๋‹จ๊ณ„์˜ ๊ณ„์‚ฐ๊ณผ ์กฐํ•ฉํ•˜์—ฌ return ํ•˜๋„๋ก ํ•œ๋‹ค.
  5. ์ตœ์ดˆ ํ˜ธ์ถœ ๊ณ ๋ คํ•˜๊ธฐ:
    • ์‹ค์ œ๋กœ ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š”, ์ „์ฒด ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ํ•œ ๋ฒˆ๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ๋œ๋‹ค. ์˜ˆ์‹œ ์ฝ”๋“œ์˜ solution(arr)์—์„œ return recursiveOR(arr);์ฒ˜๋Ÿผ ๋ง์ด๋‹ค.