inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1. 큰 수 출력하기

섹션 2. 큰 수 출력하기 문제에서 제가 작성한 답안의 원인을 모르겠습니다

327

졍졍

작성한 질문수 2

0

기존 arr의 원소들을 answer로 push하지 않고, 참조 복사 후 조건에 안맞으면 삭제하는 방향으로 진행했습니다.

궁금한 것은 if 문이 시작되기 전에 콘솔에 i와 i+1을 찍어보면 인덱스가

(0,1)(1,2)(2,3),(3,4)씩 차례대로 비교가 되는데

똑같은 방법으로 콘솔에 answer[i], answer[i+1]을 찍어보면 순차적으로 비교하지 않고

(0,1)(2,3)(4,5)씩 비교합니다. 

왜 이런 결과가 나오는지 알 수 있을까요? 

javascript 코테 준비 같이 해요!

답변 3

0

김태원

안녕하세요^^

i가 0일때, 

if 문이 참이되어 answer.splice(i+1, 1);를 하게 되면

1번 인덱스에 있는 3이 지워지면 2번 인덱스에 있던 9가 1번 인덱스 위치로 당겨집니다. 그 효과 때문에 answer값을 출력하면 그렇게 보이는 것입니다.

0

졍졍

function solution (arr) {
                let answer = arr;
                // push로 추가하는게 아니라 기존 배열 복사 후 조건이 아닐 경우 삭제.
                for (let i = 0; i < answer.length; i++) {
                    if (answer[i] > answer[i+1]) {
                        answer.splice(i+1, 1);
                    }
                }
                
                return answer;
            }

            let arr=[7, 3, 9, 5, 6, 12];
            console.log(solution(arr));

코드 올렸습니다 ! :)

0

김태원

안녕하세요^^

전체 코드를 {;} (insert code sample) 버튼을 이용해서 올려주시면 좋겠습니다.

문제가 발생하는 코드를 실행시켜봐야 알 것 같습니다.

continue를 사용하는 이유

0

75

2

정렬 가능 여부 판단하기

0

62

2

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

0

80

1

코드 리뷰 부탁드립니다!

0

88

1

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

0

67

1

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

0

62

1

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

0

97

3

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

0

61

1

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

0

71

1

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

0

133

2

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

0

119

2

3칸씩 건너뛸 수 있을 경우

0

124

2

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

0

133

2

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

0

116

2

이렇게 해도 되나요?

0

102

2

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

0

144

2

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

0

136

1

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

0

112

1

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

0

98

1

코드리뷰 부탁드립니다.

0

129

1

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

0

129

1

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

0

138

0

코드 리뷰 부탁드립니다.

0

115

1

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

0

142

1