inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1. 큰 수 출력하기

이런방식으로 푸는게 더 깔끔한가요?

426

ShinJuYong

작성한 질문수 1

0

/*
 * 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작성하세요.
  단, 첫 번째 수는 무조건 출력한다.
 */
function solution(integers:number[]): number[] {
  return integers.filter((int, index) => {
    if (index === 0) {
      return int;
    }

    if (int > integers[index - 1]) {
      return int;
    };
  });
}

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

javascript 코딩-테스트

답변 2

0

김태원

안녕하세요^^

네. 잘 하신 코드입니다. if문을 합치면 더 좋을 것 같습니다.

function solution(integers) {
    return integers.filter((int, index) => {
      if (index === 0 || int > integers[index - 1]) {
        return int;
      };
    });
}
console.log(solution([7,3,9,5,6,12]));

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요. 코드를 보면 주어진 배열에서 바로 앞의 수보다 큰 수만 필터링하여 반환하는 함수인 것 같습니다. 코드는 문제를 해결하는 데에는 문제가 없어 보이지만, 더 깔끔하게 작성할 수 있는 방법이 있습니다.
첫 번째로, 조건문을 사용하는 대신에 삼항 연산자를 사용하면 코드를 간결하게 작성할 수 있습니다. 두 번째로, 필터 함수 대신 reduce 함수를 사용하여 코드를 더욱 간결하게 만들 수 있습니다. 아래는 코드를 개선한 예시입니다.

function solution(integers: number[]): number[] {
  return integers.reduce((result: number[], current: number, index: number) => {
    if (index === 0 || current > integers[index - 1]) {
      return [...result, current];
    }
    return result;
  }, []);
}

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

위의 코드는 reduce 함수를 사용하여 현재 수와 이전 수를 비교하고, 현재 수가 더 큰 경우에만 result 배열에 추가하는 방식으로 구현되었습니다. 이 방법을 사용하면 조건문이 필요 없어져서 코드가 더 간결해집니다. 코드 스타일은 개인의 취향에 따라 다를 수 있지만, 위의 예시처럼 작성하면 더 깔끔해 보일 수 있어요. 참고하시기 바랍니다. 이상이 답변입니다. 좋은 하루 되세요!

continue를 사용하는 이유

0

80

2

정렬 가능 여부 판단하기

0

64

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

74

1

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

0

136

2

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

0

120

2

3칸씩 건너뛸 수 있을 경우

0

126

2

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

0

135

2

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

0

117

2

이렇게 해도 되나요?

0

102

2

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

0

145

2

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

0

138

1

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

0

112

1

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

0

98

1

코드리뷰 부탁드립니다.

0

130

1

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

0

133

1

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

0

142

0

코드 리뷰 부탁드립니다.

0

120

1

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

0

146

1