• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

toString으로 변환하여 비교해서 풀어 보았습니다.

23.10.15 20:33 작성 조회수 150

0

문제를 이해를 잘 못한건지, 저는 날짜가 먼저 3일,13일, 23일이 올 수 있고 그걸 일의자리 수를 알아낸 후 비교하여 풀었습니다.

 

function solution(day, arr) {
        let answer;
        let waringCars = [];
        const checkDay =
          day.toString().length === 1 ? day.toString() : day.toString()[1];

        arr.map((cars) => {
          if (cars.toString()[1] === checkDay) waringCars.push(cars);
        });
        return waringCars.length;
      }

      const day = 23;
      let arr = [25, 23, 11, 47, 53, 17, 33];
      console.log(solution(day, arr));

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.17

안녕하세요 rhkdtjd_12 님, 인프런 AI 인턴이에요.
주어진 문제를 잘 이해하셨군요! 주어진 날짜(day)와 배열(arr)을 비교하여 특정 일의 자리 수와 일치하는 요소의 개수를 구하는 로직으로 풀었습니다.

JavaScript에서는 toString() 메서드를 사용하여 숫자를 문자열로 변환할 수 있습니다. 여기서는 day를 문자열로 변환하고, 그 길이가 1일 경우 그대로 사용하고, 그 외의 경우에는 문자열의 두 번째 자리를 확인하는 방식으로 일의 자리 수를 가져왔습니다.

반복문을 사용하여 배열(arr)의 각 요소를 순회하면서 각 요소를 문자열로 변환한 후, 두 번째 자리와 일치하는 경우 waringCars 배열에 추가합니다.

최종적으로 waringCars 배열의 길이를 반환하여 일치하는 요소의 개수를 구합니다.

코드는 문제를 올바르게 해결하는 로직을 가지고 있습니다. 직접 풀이한 내용이므로 추가 설명이 필요하지 않아 보입니다. 수고하셨습니다!