πŸ“μƒκ°μ˜ μ „ν™˜μ„ 톡해, 문제 μ‰½κ²Œ λ‹€κ°€κ°€κΈ°

10_2pangΒ·2023λ…„ 6μ›” 4일
0

βš½οΈνŠΈλŸ¬λΈ”μŠˆνŒ…

λͺ©λ‘ 보기
10/94
post-thumbnail

πŸ‘¨β€πŸ’»Β μ‚¬κ±΄


  • μš°ν…Œμ½” ν”„λ¦¬μ½”μŠ€ 문제 쀑, 3자리 숫자λ₯Ό μž…λ ₯ λ°›μœΌλ©΄ 각 자리수의 합이 큰지 곱이 큰지λ₯Ό λΉ„κ΅ν•˜μ—¬ 큰값을 λ°˜ν™˜ν•˜λŠ” 것 이 μžˆμ—ˆλ‹€.
    • λ‚˜λŠ” 각 자리수의 합이 곱보닀 큰경우λ₯Ό λ¨Όμ € if문을 톡해 κ±°λ₯Έν›„, λ‚˜λ¨Έμ§€λ₯Ό μ „λΆ€ κ³±μ…ˆμœΌλ‘œ ν•΄κ²°ν•˜λ €κ³  μƒκ°ν•˜μ˜€λ‹€.

      function numJudge(num) {
                  let subAnswer = 0;
                  const list = [];
                  let n = num;
                  //ν•œμžλ¦¬ 숫자일 경우
                  if (num.toString().length === 1) {
                      subAnswer = num;
                  } else if (num.toString().length === 2) {
                      //λ‘μžλ¦¬ 숫자일 경우
                      if (
                          Math.floor(num / 10) === 1 ||
                          num % 10 === 1 ||
                          num % 10 === 0
                      ) {
                          subAnswer = Math.floor(num / 10) + (num % 10);
                      } else {
                          subAnswer = Math.floor(num / 10) * (num % 10);
                      }
                  } else {
                      //μ„Έμžλ¦¬ 숫자일 경우
                      for (let i = 2; i >= 0; i--) {
                          list[i] = n % 10;
                          n = Math.floor(n / 10);
                      }
                      if (
                          list.includes(0) ||
                          list.filter((i) => i === 1).length === 2
                      ) {
                          subAnswer = list.reduce((a, b) => a + b, 0);
                      } else if (
                          list.filter((i) => i === 2).length === 2 &&
                          list.filter((i) => i === 1).length === 1
                      ) {
                          subAnswer = list.reduce((a, b) => a + b, 0);
                      } else {
                          subAnswer = list[0] * list[1] * list[2];
                      }
                  }
                  return subAnswer;
              }

βœ…Β ν•΄κ²°


function numJudge(num) {
            let subAnswer = 0;
            const list = [];
            let n = num;
            //ν•œμžλ¦¬ 숫자일 경우
            if (num.toString().length === 1) {
                subAnswer = num;
            } else if (num.toString().length === 2) {
                //λ‘μžλ¦¬ 숫자일 경우
                if (
                    Math.floor(num / 10) === 1 ||
                    num % 10 === 1 ||
                    num % 10 === 0
                ) {
                    subAnswer = Math.floor(num / 10) + (num % 10);
                } else {
                    subAnswer = Math.floor(num / 10) * (num % 10);
                }
            } else {
                //μ„Έμžλ¦¬ 숫자일 경우 (각 자릿수λ₯Ό ν•©ν•œκ²ƒκ³Ό κ³±ν•œκ²ƒμ„ λ”°λ‘œ λ³€μˆ˜μ— μ €μž₯ ν•˜μ—¬ 비ꡐ)
                let multi
                let plus
                for (let i = 2; i >= 0; i--) {
                    list[i] = n % 10;
                    n = Math.floor(n / 10);
                }
                plus = list.reduce((a,b)=>a+b,0)
                multi = list[0]*list[1]*list[2]
                if(multi>plus){
                    subAnswer = multi
                }else{
                    subAnswer = plus
                }
            }
            return subAnswer;
        }

κ°„λ‹¨ν•˜κ²Œ ν•˜λ‚˜μ˜ λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜μ—¬, 각 자리 숫자λ₯Ό λ”ν•œ κ°’κ³Ό κ³±ν•œκ°’μ„ λΉ„κ΅ν•˜λŠ” 것이 λ”μš± ν˜„λͺ…ν•œ λ°©λ²•μ΄μ˜€λ‹€.

πŸ’­Β κ°œμ„ 


  • 회고 νŒ€μ›λ“€κ³Ό μ½”λ“œλ¦¬λ·°λ₯Ό 톡해, 쑰금 더 κ°„λ‹¨ν•˜κ²Œ μ ‘κ·Όν•˜λŠ” 방식을 μ•Œκ²Œλ˜μ—ˆλ‹€.
profile
μ£Όλ‹ˆμ–΄ ν”„λ‘ νŠΈμ—”λ“œ 개발자 이광렬 μž…λ‹ˆλ‹€ 🌸

0개의 λŒ“κΈ€