강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

김택수님의 프로필 이미지
김택수

작성한 질문수

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

7. 10부제

리뷰 부탁드립니다!

작성

·

491

0

이런 식의 풀이는 조금 더 안좋은 풀이 방식일까요?

 

function solution(n, arr){
  const answer = arr.filter((item) => String(item).charAt(1) === String(n))
  return answer.length;
}

const arr=[12, 20, 54, 30, 87, 91, 30];
console.log(solution(0, arr));

퀴즈

46%나 틀려요. 한번 도전해보세요!

세 수 중 최솟값을 찾을 때, if 문만 사용한다면 어떤 방식으로 비교하는 것이 일반적인가요?

세 수를 한 번에 비교하여 가장 작은 수를 바로 찾습니다.

두 수의 최솟값을 먼저 찾고, 그 결과와 나머지 한 수를 비교합니다.

가장 큰 수를 먼저 찾은 후, 남은 두 수 중 작은 값을 찾습니다.

모든 가능한 쌍을 비교하여 가장 작은 값을 찾습니다.

답변 1

0

숫자를 비교해서 해결할 수 있는 문제를 굳이 문자열로 변환한 다음 인덱스 값에 접근해 가면서까지 하면 비효율적이지 않을까요?

저도 강사님과 같은 개념으로 접근했는데 질문자님처럼 filter를 사용해서 코드가 깔끔하게 나왔습니다

function solution(date, ...numbers) { return [...numbers].filter((a) => a % 10 === date).length; }

김택수님의 프로필 이미지
김택수
질문자

맞네요! 정근님 코드에서 굳이 스프레드 연산자 없이도 가능하네요!

function solution(n, arr){
  return arr.filter((item) => item % 10 === n).length
}

const arr=[12, 20, 54, 30, 87, 91, 30];

console.log(solution(0, arr));
김택수님의 프로필 이미지
김택수

작성한 질문수

질문하기