inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

4. 졸업선물

코드 확인 부탁드립니다.

234

JEE SUN LEE

작성한 질문수 15

0


      function solution(m, product) {
        let answer = 0;
        let n = product.length;
        let cnt = 0;

        product.sort((a, b) => a[0] / 2 + a[1] - (b[0] / 2 + b[1]));
        // console.log(product);
        for (let i = 0; i < n; i++) {
          m = m - (product[i][0] / 2 + product[i][1]);
          cnt++;
          //console.log("cnt", cnt);
          if (product[i][0] + product[i][1] > m) break;
          answer = cnt;
        }
        return answer;
      }

//콘솔에서는 cnt가 4로 나왔는데 답에서 3으로 출력이 됩니다. 

javascript 코딩-테스트

답변 1

0

김태원

안녕하세요^^

for (let i = 0; i < n; i++) {
    m = m - (product[i][0] / 2 + product[i][1]);
    cnt++;
    answer = cnt;
    //console.log("cnt", cnt);
    if (product[i][0] + product[i][1] > m) break;
    
  }

위와 같이 answr = cnt 위치를 옮기면 answer = 4가 되겠지만 이 코드는 올바른 정답코드가 아닙니다.

위에 for(let i = 0; i < n; i++) 반복문 안쪽에서 m = m - (product[i][0] / 2 + product[i]\[1]); 코드 라인을 하고 나서 for(let j = 0; j < n; j++) 반복문이 돌아야 합니다.

전체적으로 이중 for문이어야 모든 입력 케이스에서 올바른 답이 나옵니다. 영상을 다시 시청하셨으면 좋겠습니다.

 

 

0

JEE SUN LEE

답변 감사합니다. 다시 한번 풀어보겠습니다:)

continue를 사용하는 이유

0

82

2

정렬 가능 여부 판단하기

0

66

2

알고리즘 학습법 관련해서 질문드립니다.

0

86

1

코드 리뷰 부탁드립니다!

0

90

1

indexOf를 사용해서 풀어보았습니다 !!

0

69

1

저는 이런식으로 구현 해보았습니다 !!

0

64

1

12,13,14 강의 소리만 나오고 검은 화면입니다

0

101

3

반복문 최소화하고 indexOf 사용해서 풀어봤습니다

0

63

1

영상 보기 전에 직접 풀어봤습니다.

0

75

1

섹션1의 17번문제 이 풀이로 풀어도 될까요?

0

136

2

정규표현식으로 처리해도 상관없나요 ?

0

120

2

3칸씩 건너뛸 수 있을 경우

0

126

2

강의에 대해 질문있습니다.

0

136

2

Object와 Set을 이용해 풀어봤습니다.

0

117

2

이렇게 해도 되나요?

0

102

2

선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.

0

145

2

이렇게 풀어도 괜찮을까요?

0

138

1

이렇게 풀어도 괜찮을까요?

0

113

1

모든 아나그램 찾기에서 시간복잡도

0

98

1

코드리뷰 부탁드립니다.

0

130

1

for loop 탈출은 return 문으로 해도 되지 않나요?

0

133

1

투포인트알고리즘으로 풀어봤습니다.

0

142

0

코드 리뷰 부탁드립니다.

0

120

1

코드 맞게 작성한 거 아닌가여??

0

146

1