강의

멘토링

로드맵

Inflearn Community Q&A

ksu8904's profile image
ksu8904

asked

Introduction to Javascript Algorithm Problem Solving (Coding Test Preparation)

2. Visible students

이중for문이 더 모르겠어요..

Written on

·

220

0

앞선 강의를 들으니 max를 이용해서 문제가 풀렸는데,

2중 for문을 이용한 경우 결과가 안나와요...

조건은 만족하는데 i일때 j보다 큰 모든 경우에 푸쉬 되거나 카운팅이 되는데, 한번만 호출 되게 하는 방법이 궁금합니다.

      function solution(arr) {
        let answer = [];
        answer.push(arr[0]);
 
        for (let i = 1; i < arr.length; i++) {
          for (let j = 0; j < i; j++) {
            if (arr[i] > arr[j]) {
              answer.push(arr[i]);
            }
          }
        }

        return answer;
      }

      let arr = [130, 135, 148, 140, 145, 150, 150, 153];
      console.log(solution(arr));
javascript코테 준비 같이 해요!

Answer 1

2

codingcamp님의 프로필 이미지
codingcamp
Instructor

안녕하세요^^

이런건 스스로 계속 도전해보는게 좋습니다. 문제를 푸는게 중요한 게 아니라 계속 고민해보고 도전해보는게 중요합니다. 그래야 실력이 올라갑니다. 못 풀어도 별 상관없습니다. 다른 문제 풀다가 한 두달 후에 다시 와서 해보면 풀릴때가 많습니다. 아래는 위에 코드를 정답이 나오게 수정해보았습니다.

function solution(arr) {
  let answer = [];
  answer.push(arr[0]);

  for (let i = 1; i < arr.length; i++) {
    let flag = true;
    for (let j = 0; j < i; j++) {
      if (arr[i] <= arr[j]) {
        flag = false;
        break;
      }
    }
    if(flag == true) answer.push(arr[i]);
  }

  return answer;
}

let arr = [130, 135, 148, 140, 145, 150, 150, 153];
console.log(solution(arr));

 

ksu8904's profile image
ksu8904

asked

Ask a question