• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

이렇게했는데 no가 나와요..

21.08.23 15:23 작성 조회수 101

1

    function solution(abc) {
      let max;
      let total = a + b + c;
      let shortSum = total - max
      if (a < bmax = b
      else max = a;
      if (c > maxmax = c
      if (shortSum > max) {
        return 'YES'
      } else {
        return 'NO'
      }
    }

    console.log(solution(17109))
맞는 것 같은데.. NO만 나오는 이유를모르겠어요
가장긴 막대 - 나머지막대의합이 더크면 YES인데..

답변 2

·

답변을 작성해보세요.

3

MostOneBrush님의 프로필

MostOneBrush

2021.08.23

 let shortSum = total - max

max 값이 할당되기 전이라 현재 값이 undefined인데,
할당되기 전의 값을 연산되게 하셔서 shortSum이 NaN으로 뜹니다.

해당 구문을 max값을 할당한 이후에 받겠금 바꿔서 넣으시면 원하시는 결과 값을 얻으실 수 있습니다.

0

ding-co님의 프로필

ding-co

2021.08.28

초기에 max 변수를 선언하시고 0으로 초기화 하시거나 shortSum 초기화 구문을 max 값 할당 이후로 위치를 바꾸시면 좋을 것 같아요.