강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của minsoo2091416
minsoo2091416

câu hỏi đã được viết

Giới thiệu về giải quyết vấn đề thuật toán JavaScript (chuẩn bị cho bài kiểm tra mã hóa)

3. Thuật toán hai con trỏ

for 루프 대신 while문만 써서 해보았는데 코드 리뷰좀 부탁드려도 될까요?

Viết

·

283

0

안녕하세요, 선생님! 처음에 이 문제를 이전 강의와 비슷하게 while문만 써서 해보았는데 수업코드랑 좀 차이가 있어서요. 예제 답은 맞는데 논리적으로 문제가 없는지 리뷰좀 부탁드려도 될까요? 감사합니다!

function solution(arr, m)

{

let answer = 0;

let sum = lt = rt = 0;

while(lt <= rt  && rt < arr.length)

{

if(sum == m)

{

answer++;

sum -= arr[lt++];

}

else if(sum < m) sum += arr[rt++];

else sum -= arr[lt++];

}

return answer;

}

코테 준비 같이 해요! javascript

Câu trả lời 3

0

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

잘 하셨습니다. 그정도면 됩니다. 

스스로 본인만의 코드를 짜시면 여러 입력을 만들어서 테스트해보시기 바랍니다. 실전에서는 이 능력이 제일 중요합니다. 

minsoo2091416님의 프로필 이미지
minsoo2091416
Người đặt câu hỏi

답변감사드립니다! 입력 테스트 중요성 꼭 기억하겠습니다.

0

minsoo2091416님의 프로필 이미지
minsoo2091416
Người đặt câu hỏi

아, 오류 발견 감사합니다 ㅠㅠ 이 경우 rt < arr.length 를 rt <= arr.length로 바꾸주니 답이 나오긴 하는데 전체 코드를 바꾸어야 하는지 이 정도 땜질로 괜찮은지 아직 헷갈리긴 합니다.

0

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

안녕하세요^^

위 코드는 배열의 맨 마지막 숫자가 더해져서 m값이 되는 경우를 카운트하지 못합니다.

arr=[1, 1, 1] 

m=2

로 하면 위 코드는 1이 출력됩니다.

Hình ảnh hồ sơ của minsoo2091416
minsoo2091416

câu hỏi đã được viết

Đặt câu hỏi