inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

제주코딩베이스캠프 Code Festival: JavaScript 100제

문제50 : 버블정렬 구현하기

버블정렬

해결된 질문

262

Aredra

작성한 질문수 4

1

버블정렬 함수를 구현하실 때 2번째 for 문에서 result.length에서 1을 안 빼는 이유가 있나요??

javascript 코테 준비 같이 해요!

답변 3

2

Aredra

안녕하세요, 먼저 친절한 답변 감사드립니다.

제가 이해를 잘못하여 다시 질문을 남깁니다.

만약 배열 중 0번째 인덱스에 가장 큰 값이 들어가게 된다면 6번 라인 result[j+1]이 undefined가 나오는 것 같은데 무관한 부분인가요?

0

-J-

안녕하세요~ 해당부분에 대한 설명이 미흡하여 재녹화 하여 업로드 하였습니다 :) ㅎㅎ 

result[j+1]이 undefined가 되더라도 비교 연산자 (>) 에서 false를 반환하기 때문에 전체 알고리즘에 영향은 없는것으로 보입니다.

자세한 풀이는 영상을 새로 업로드하였으니 시간되실때  확인바랍니다! 많은 관심 감사합니다!!

0

-J-

안녕하세요 답변드리겠습니다.

2번째 for문의 역할은 배열안의 각 원소와 그 다음 원소의 크기를 비교하여 자리를 바꾸는데 있는데요,

2번째  for문이 한 번 회전 할 때마다, 배열안의 원소가 제일 큰 것부터 1개씩 자리를 '확정적'으로 잡기 때문입니다.

때문에 for문이 돌면 돌 수록 원소들이 하나씩 자리를 확정하게 되고, 때문에 우리는 연산 시간을 아끼는 측면에서 -1 이 아닌 i값을 빼면서 for문이 돌아야 하는 횟수를 줄여주는 것이지요.

답변이 도움이 됐으면 좋겠습니다.

감사합니다!

71번 깊이 우선 탐색 질문드립니다.

0

201

1

이렇게 하는건 안좋은 방법일까요?

0

362

0

강의상 32번째 줄 질문드립니다

1

314

1

안녕하세요..!

0

437

0

1~100번 외의 자료에 대한 코드는 없을까요?

0

277

0

질문있습니다.

0

217

0

33번 문제 for문대신 join 사용

0

224

0

const, let

0

297

1

2진법 변환 문제 관해서 질문있습니다.

1

323

1

객체 식별자는 변수 또는 promt로 가지고 올수 없다는 건가요?

1

255

1

문자열이 둘다 숫자, 왜 가능해요?

1

239

1

20번 문제에 parseInt()로 10진수를 왜 하나요?

1

206

1

질문 있습니다.

0

219

0

문제 12번

1

207

1

선생님 이 포문이상한데요..

1

231

1

만약 1980년 1월1일 부터의 로직을 짜려면 코드 어느 부분을 수정해야할까요??

0

233

0

알고리즘 공부방법에 대해서 질문있습니다.

0

221

0

질문 드립니다!!

0

235

1

for 반복문 관련 문의

0

198

0

47번 문제 질문

0

242

1

행렬 곱에서 i,j,k를 len으로 통일시키면 2*3 3*2행열 계산이 안됨니다.

1

234

1

function문 호출하기 질문입니다~

0

222

0

8번) 점 접근자로 숫자 불가하네요!

0

157

0

병합정렬에서 질문드립니다.

0

268

1